⑴ 如何在ubuntu使用eclipse 中c++開發環境配置gdal
1.最重要的東西,++必要工具,安裝的是GCC工具鏈,Make等一系列開發工具:
sudo apt-get install build-essential
2. 安裝Eclipse
sudo apt-get install eclipse
sudo apt-get install eclipse-pde
sudo apt-get install eclipse-jdt
3.打開Eclipse,打開Help->Install New Software,然後點擊Add按鈕,在彈出的對話框中
Name項填入CDT
Location項填入http:// download.eclipse.org/tools/cdt/releases/indigo
點擊Ok按鈕,在下邊出現的列表中,
第一個CDT Main Features基本都要安裝
第二個中務必要把包含GNU字眼選擇安裝(這一步因為老是出現依賴錯誤,我就乾脆先不裝了,以後用到再說)
4 .配置Autotools支持
基本上同第四步一致:
Name項填入Autotools
Localtion項輸入:http:// download.eclipse.org/technology/linuxtools/update
點擊Ok按鈕,在下邊出現的列表中,將此選項選中,然後安裝即可
Autotools support for CDT (Incubation) 3.0.0.201106060936
5.可以在eclipse中玩轉vim
直接從eclipse安裝即可,地址:http:// vrapper.sourceforge.net/update-site/stable/
裝完重啟eclipse後在菜單藍出現gvim圖標
6.下面是編譯執行c ++項目時的一些設置:
項目包含外部頭文件,將頭文件路徑導入:
項目需要外部動態鏈接庫(-L):
指定程序運行時路徑(-R):
⑵ 如何導入PostgreSQL資料庫數據
說起資料庫,大家耳熟能詳的商業資料庫產品當推Oracle、微軟的SqlServer和IBM的
DB2等,而開源資料庫中則有兩大產品MySQL和PostgreSQL。
PostgreSQL 是一種對象-關系型資料庫管理系統(ORDBMS),也是目前功能最強大、
特性最豐富和最復雜的自由軟體資料庫系統。它起源於伯克利(BSD)的資料庫研究計劃,
目前是最重要的開源資料庫產品開發項目之一,有著非常廣泛的用戶。
PostgreSQL 可以說是最富特色的自由資料庫管理系統,也有人認為可以是最強大的自由
軟體資料庫管理系統。PostgreSQL 是唯一支持事務、子查詢、多版本並行控制系統、數據完
整性檢查等特性的唯一的一種自由軟體的資料庫管理系統。能在多平台下---包括Linux、
FreeBSD和Windows等---運行,並且支持多語言的開發。
在兩大開源資料庫產品的對比中,一般認為MySQL速度更快,所以得到更為廣泛的使
用;而PostgreSQL性能更為先進,PostgreSQL 提供很多 MySQL 目前所不支持的特性,比
如觸發器、視圖、存儲過程等等,在記錄數超千萬之後性能表現尤其出色。
當前的最新版本是PostgreSQL 8.2.3,官方網站是:
www.postgresql.org
1.2 什麼是PostGIS
PostGIS在對象關系型資料庫PostgreSQL上增加了存儲管理空間數據的能力,相當於
Oracle的spatial部分。PostGIS最大的特點是符合並且實現了OpenGIS的一些規范,是最著
名的開源GIS資料庫。
當前的最新版本是PostGIS 1.2.1,官方網站是:
www.postgis.org
二 PostgreSQL和PostGIS的安裝
2.1 在windows下安裝。
新版本的PostgreSQL在其安裝程序中集成了PostGIS,只需要在安裝過程中選中
PostGIS和pgsql項就可以了。
2.2 在Debian下安裝PostGIS
# apt-get install postgresql-8.1 postgresql-8.1-postgis
當前Etch中的版本:PostgreSQL是8.1.7,而PostGIS是1.1.6,雖然不是最新的版本,
但已經足夠了。
還需要做的工作是:
1) 創建一個專門用於PostGIS的資料庫並為專用資料庫導入PostGIS支持:
# su – postgres
$ cd /usr/share/postgresql-8.1-postgis
$ createdb wen1
$ createlang plpgsql wen1
$ psql -d wen1 -f lwpostgis.sql
$ psql -d wen1 -f spatial_ref_sys.sql
2) 創建一個專門的用戶,並把相應的資料庫和數據表的屬主設置為該用戶:
# su – postgres
$ psql
$ create user wen1 password 『123456』;
$ alter database wen1 owner to wen1;
$ alter table spatial_ref_sys owner to wen1;
$ alter table geometry_columns owner to wen1 ;
3) 修改PostgreSQL配置文件以便可以遠程使用。
修改PostgreSQL的配置文件/etc/postgresql/8.1/main/Postgresql.conf,將其中的一句:
listen_address=』localhost』
前面的注釋去掉,並把』localhost』該為』*』。
修改Postgresql的配置文件/etc/postgresql/8.1/main/pg_hba.conf,在文件後面加一句:
host all all 192.168.0.0/24 password
這句的意思是:同網路中192.168.0.*的機器可以以密碼的形式使用所有的資料庫。更具
體的參數意義直接看該配置文件中的注釋就可以了。
這里一定要配置正確,否則無法在遠程連接PostgreSQL資料庫。
2.3 源碼安裝PostgreSQL和PostGIS
參閱以前寫的老文章。
三 PostGIS的使用
要使用PostGIS,需要兩方面的預備知識,一是要熟悉基本的SQL語法;二是熟悉
PostgreSQL資料庫的基本使用。
(一) 快速入門
我們使用前面創建的資料庫wen2,用戶為wen1,現在創建一個包含三個點的資料庫
test1:
首先在Etch下以wen1登陸,然後打開wen2資料庫:
$ psql -d wen2 ;
再在PostgreSQL的控制台下輸入以下命令:
wen2=> create table test1 (myID int4, pt geometry, myName
varchar );
wen2=> insert into test1 values (1, 'POINT(0 0)', 'beijing'
);
wen2=> insert into test1 values (2, 'POINT(31.5 60.87)',
'shanghai' );
wen2=> insert into test1 values (3, 'POINT(10.77 85.902)',
'tianjin' );
這樣我們利用PostGIS創建了一個包含三個點的GIS數據表。
為了能在QGIS中打開這一圖層,我們還需要為數據表創建一個主鍵:
wen2=>alter table test1 add primary key (myID);
可以看到PostGIS的使用其實就相當於使用一個經過擴展的SQL語法,上述語句熟悉
SQL語法的人一看都很熟悉,都是普通的SQL語句,不同的只不過是增加了PostGIS特殊的
geometry數據類型。
你可以再試試這些SQL語句:
select * from test1;
select myID,AsText(pt) from test1;
select Distance(pt, 'POINT(0 0)') from test1;
(二) PostGIS的Geometry數據類型
Geometry可以說是PostGIS最重要的一個概念,是「幾何體」的意思,由於PostGIS很
好地遵守OGC的」Simple Feature for Specification for
SQL」規范,目前支持的幾何體類型包
含其實例有:
POINT(1 1)
MULTIPOINT(1 1, 3 4, -1 3)
LINESTRING(1 1, 2 2, 3 4)
POLYGON((0 0, 0 1, 1 1, 1 0, 0 0))
MULTIPOLYGON((0 0, 0 1, 1 1, 1 0, 0 0), (5 5, 5 6, 6 6, 6 5, 5
5))
MULTILINESTRING((1 1, 2 2, 3 4),(2 2, 3 3, 4 5))
而geometry具體表現又有兩種形式,一種叫做WKT(Well Known Text)形式,如上面的
例子。或者使用如下SQL語句瀏覽:
select AsText(pt) from test1;
另一種叫做「Canonical Form」形式,看上去是一串古怪的數字,其實是一種增強的十六
進制編碼,使用如下SQL語句就可以瀏覽了:
select pt from test1;
(三) 讀寫PostGIS數據
建設好PostGIS資料庫之後,我們現在需要進行讀寫GIS數據了,包括把GIS寫入到
PostGIS資料庫中以及在應用程序中使用PostGIS資料庫的數據。讀寫PostGIS目前主要有以
下四種方式:
3.1 使用psql語言
Psql語言是PostgreSQL內嵌的一個命令行工具,其語法基本上和標準的SQL語法是一
致的,可以使用Psql工具,結合標准SQL語法和一些PostGIS的擴展對PostGIS資料庫進行
讀寫操作。
具體例子如上面「快速入門」中的例子。
這種方式功能強大,但全部需要手工操作,煩瑣且繁重。
3.2 使用一些小工具
有兩個很有用的小的轉換工具,一是shp2pg;一是ogr2ogr
3.2.1 shp2pgsql和pgsql2shp
shp2pgsql和pgsql2shp是PostGIS自身攜帶的一對在Shape文件和PostGIS資料庫之間進
行轉換的工具,在Debian中安裝好PostGIS之後,這兩個程序已經位於可執行文件的搜索路
徑上,因此可以在系統中任何位置使用。
假如當前目錄下有完整的china.shp文件(應該有三個同名不同擴展名的文件),需要把其
中數據輸入到上述的wen2資料庫中的數據表china_postgis中,具體操作為(操作用戶為
wen1):
$ shp2pgsql china china_postgis > tmp.sql
$ psql -d wen2 -f roads.sql
這個工具很好用,缺點在於使用范圍有限,只針對Shape文件格式。
3.2.2 ogr2ogr
PostGIS本身的shp2pg工具只把shape文件轉換到PostGIS 資料庫中,那如何把其他的
GIS數據加入呢?比如說MapInfo的mid格式,ESRI的e00格式呢?這就要使用ogr這個工
具了。
Ogr目前是gdal的一個組成部分,那什麼是gdal呢?其官方主頁(http://www.gdal.org)上
如此介紹:
GDAL is a translator library for raster geospatial data formats
that is released under an X/MIT
style Open Source license by the Open Source Geospatial
Foundation. As a library, it presents a
single abstract data model to the calling application for all
supported formats. It also comes with a
variety of useful commandline utilties for data translation and
processing.
簡單地說,Gdal是一個各種Gis數據格式的轉換軟體庫,ogr則是轉換矢量GIS數據的
軟體庫。
目前ogr能夠支持的數據格式包括:
Arc/Info Binary Coverage、DWG、ESRI Personal
GeoDatabase、ArcSDE、ESRI
Shapefile、GML、GRASS、Mapinfo File、Microstation DGN、ODBC、Oracle
Spatial和
PostgreSQL等。應該說,這就基本包括了我們平常用到的所有矢量型GIS文件格式了。
Gdal支持的柵格數據格式參閱http: //www.gdal.org/formats_list.html
下面我們從源碼編譯安裝gdal---因為我在Debian下使用apt方式安裝的gdal並不支持
postgresql資料庫,其實更為簡便的方法也許是去gdal.org下載一個Fwtools的工具包,可以
直接運行不用繁瑣的編譯,既有Windows的,也有Linux下用的,只不過這個包有些大。
1) 下載最新的gdal-1.3.2
2) 解壓
3) ./configure --prefix=/opt/gdal
--with-pg=/opt/pg/bin/pg_config --without-ogdi
這里我習慣把軟體安裝在/opt目錄下。
--with-pg參數很重要,使ogr可以支持PostGIS,後面的參數是我的PostGIS安裝的地方。
我在這里編譯很多次失敗,經過仔細查找,發現問題出在ogdi上,所以暫時我只好使
它不支持ogdi。
4) make
5) make install
下面是使用過程,假設現在我要把一個rai.mid文件導入到資料庫data1中:
$ ogr2ogr –f Postgresql PG:dbname=data1 rai.mid
注意,f參數後面跟的是導入的數據類型,最後那個文件才是要導出的文件。PG後面說
明的是資料庫的名字,需要是已經創建好的資料庫,而數據表則由程序自動創建。還要特別
注意許可權問題,以上命令我是由postgres用戶執行的。
還有一個要注意的是主鍵問題。一般情況下,你使用shp2pg或者 ogr2ogr向postgis中
增加了Gis數據後,在GIS客戶端添加postgis圖層的時候,常常會因為數據表沒有定義主鍵
而出錯,解決的辦法是,在伺服器上使用psql或者其他sql工具,使用命令:
alter table table_name add primary key (column_name);
另外我們發現ogr竟然是不支持最常見的GIS格式e00格式,好象是因為版權方面的原
因吧。解決的方法就是去sf.net查找相關工具。我在上面就找到一個e002pg工具,支持將
e00文件導入到postGIS資料庫中。
3.3 在其他GIS軟體中讀寫PostGIS數據
比如在QGIS中,能夠打開PostGIS圖層,還有SPIT插件可以把Shape文件輸入到
PostGIS資料庫中。
其他GIS軟體如uDig,Grass等,甚至連ArcInfo都支持或部分支持讀寫PostGIS數據。
3.4 利用介面在應用程序中讀寫PostGIS數據
廣大的開源GIS程序員幾乎為每一種程序設計語言設計好了讀寫PostGIS的介面,如利
用PostgreSQL的JDBC庫,可以使用java語言在程序中讀寫PostGIS數據;利用libpq庫,
可以使用C語言讀寫PostGIS數據。
(四) 使用PostGIS函數
4.1 PostGIS函數
要能熟練使用PostGIS,掌握PostGIS的所有函數是關鍵。通過掌握這些PostGIS函數,
我們能夠高效、穩定地處理各種地理數據。由於PostGIS的函數設計時都遵守OpenGIS規范,
我們也可以把這些PostGIS叫做OpenGIS函數。
4.2 PostGIS函數的分類
PostGIS函數大致可以分為以下四類
1) 欄位處理函數
這類函數當前一共有3個,分別是:
AddGeometryColumn(var1,var2,var3,var4,var5,var6):為已有的數據表增加一個地理幾何
數據欄位。Var1代表數據表的模式(schema)的名字,一般是public,也可以省略,則使用當
前的預設模式;var2是已有的數據表的名字;var3是新的地理數據欄位的名字;var4是
SRID值,不確定的話就取-1吧;var5是地理數據的類型,可以是POINT等;var6是指該幾
何數據是二維還是三維數據。
前面的SQL語句 create table test1 (myID int4, pt geometry, myName
varchar )更規范的寫
法為:
create table test1 (myID int4, myName varchar );
select AddGeometryColumn('test1','pt',-1,'GEOMETRY',2);
DropGeometryColumn函數顯然是刪除一個地理數據欄位的;
SetSRID函數顯然是設置SRID值的。
2) 幾何關系函數
這類函數目前共有10個,分別是:
Distance Equals Disjoint Intersects Touches Crosses Within
Overlaps Contains Relate
3) 幾何分析函數
這類函數目前共有12個,分別是:Centroid Area Lenth PointOnSurface Boundary
Buffer
ConvexHull Intersection SymDifference Difference GeomUnion
MemGeomUnion
4) 讀寫函數
這類函數很多,主要是用於在各種數據類型之間的轉換,尤其是在於Geometry數據類
型與其他如字元型等數據類型之間的轉換,函數名如AsText、GeomFromText等,其作用是
顯然的。
4.3 PostGIS函數使用示例。
假設在我們的wen2資料庫中,有兩張表,一張為guojia,是從「國家基礎地理數據」
網站下載的國界數據表,數據類型為LINE;二為shengqu_polygon,也從同一個網站下載,
地理數據類型為多邊形。
1) 查詢我國邊境線的長度:
wen1=> select sum(length(the_geom)) as lenth from guojie;
2) 查詢我國面積最大的省區名字:
wen1=> select name area(the_geom) as myarea
from shengqu_polygon
order by myarea DESC
LIMIT 1;
(五) 使用PostGIS擴展函數
除了上述遵循OpenGIS的函數之外,PostGIS還自行擴展了一些當前OpenGIS規范之外
的函數,主要包括以下幾類:
5.1 管理類函數
擴展的管理類函數主要包括一些軟體版本查詢函數,如
postgis_version()、postgis_geos_version()、postgis_proj_version()函數等,分別查詢當前的
PostGIS的版本及其使用的Geos和Proj庫的版本。
5.2 數據類型的輸入輸出函數
除了OpenGIS定義的地理數據類型之外,PostGIS還對數據類型進行了擴展,這種擴展
主要是兩方面的擴展,一是把二維的數據向三維和四維擴展;二就是在WKT和WKB數據
類型基礎上擴展出EWKT和EWKB數據類型。
PostGIS提供了在這些地理數據類型和常用數據類型如字元型、浮點型數據之間進行轉
換的函數。
5.3 量算函數
如length3d函數是對length2d函數的擴展。
5.4 幾何操作函數
如addBBox(geometry)函數給所給的幾何體加上一個邊框。
如simplify(geometry,tolerance)函數可以對折線和多邊形利用Douglas-Peuker演算法進行一
些節點進行刪除,從而使表現的圖形更簡單而清晰,在網路傳輸數據時具有更高的效率。
5.5 操作符號
5.6 其他擴展函數
(六) 建立PostGIS索引
當資料庫的記錄增大的時候,如果沒有建立索引的話,操作的效率就顯著下降。
POstGIS建議當記錄數超過幾千的時候就應該建立索引,而GIS資料庫一般都是海量數據,
所以對PostGIS而言,索引就非常重要。
Shapfile文件為ESRI公司的文件存儲格式,並且得到了業界廣泛的支持。Shapfile格式是一種簡單的,用非拓樸關系的形式存儲幾何位置和地
理特徵的屬性信息的格式。雖然GeoServer採用Shapfile文件可以快速的創建網上地圖服務,但它的缺點確很明顯:
1、Shapefile只支持一個圖層,在實際中沒有意義。
2、直接保用SHP文件不安全,Shapfile文件很容易被病毒或其他原因誤刪除。
3、GeoServer中用Shapfile文件作數據源的效率是很低的。
4、Shapfile中的漢字GeoServer不能解析,會出現亂碼。
5、資料庫可以方便的對地理信息進行查詢。
用PostGIS管理空間數據
PostGIS支持GIST空間索引(附錄1)、規范窗體,能很大的提高處理效率。
OGC格式只提供二維的幾何體,且相關聯的SRID從未深入的用於輸入輸出請求,PostGIS支持OpenGIS組織"Simple
Features for
SQL"規范指定的所有GIS對象和函數,並進行了擴展,格式是EWKB、EWKT,其中增加了對3DZ,3DM和4D
坐標系的支持(當然三維、四維數據的OGC標准還未完全制定),深入引進了SRID信息。
空間數據表結構:PostGIS中存在兩個必需的元數據表格, SPATIAL_REF_SYS(空間參考表格) 和
GEOMETRY_COLUMNS(幾何體屬性列),兩個表用於存儲空間資料庫使用的坐標系統數字ID和文本描述。
PostGIS的shp2pgsql命令可以將Shapfile直接導入到資料庫中也可以導出為SQL文件,推薦先導出為SQL文件再將此文件在SQL運行窗口中執行可將數據導入資料庫。
Shapfile到SQL語句:
shp2pgsql 路徑shp數據文件名 新建的數據表名 >
路徑SQL文件名.sql
Shapfile直接入庫:
shp2pgsql -c 路徑shp數據文件名 新建的數據表名 資料庫名|psql -d 資料庫名
舉例說明:
如將一Shapfile文件「c:road.shp」導入到數據表「road」中,資料庫為「sjzmap」。
1、運行「命令提示符」。
2、切換至PostgreSQL資料庫安裝目錄中的bin目錄下。
3、執行此目錄下的shp2pgsql命令:「shp2pgsql c:road.shp road >
c:road.sql」。
4、如將此文件直接導入資料庫(不推薦):「shp2pgsql -c c:road.shp road
sjzmap | psql -d sjzmap」。
5、使用pgAdmin3
選擇資料庫,再導入表。
⑶ Linux下怎麼使用gdal庫開發
實習了將近半年一直在做硬體以及底層的驅動,最近要找工作了發現了對linux普遍要求很高,而且工作崗位也非常多,所以最近一些時間在時不時地接觸linux。
正文:(我一時興起開始寫博客,准備不充分,圖片都沒有保存)
首先就是上網查找一下現成的教程,下面的網址就是一個很好的教程
http://www.cnblogs.com/softhal/p/5699381.html
第一、二、三步我都是照做的
但是在第四步的時候對於我這種新手來說就出現了一些問題:
1、第一種方法,修改bashrc文件,總是會出現下面的這個提示
** (gedit:5488): WARNING **: Set document metadata failed: 不支持設置屬性 metadata::gedit-position
我已開始也很納悶,一直以為出了什麼錯誤,上網查了一下都說這個忽視,好吧那我也就忽視了,也沒去深究。
而且我改完文件之後
我已開始也很納悶,一直以為出了什麼錯誤,上網查了一下都說這個忽視,好吧那我也就忽視了,也沒去深究。
2、而且我改完文件之後 使用 source /root/.bashrc 指令顯示 許可權不足 所以我就試了下一種方法。
3、sudo gedit /etc/profile 這個指令打開的profile 文件在我的電腦上字體都是灰色的,沒有關鍵字的字體顏色變化,我也就放棄了這個方法。
直接第三種方法,簡單暴力,改完之後,重啟一下,在shell 中 輸入 $echo PATH 查看一下環境配置是否成功。
到這里我還以為萬事大吉了,並且arm-linux-TAB 有正常的反應,可是輸入 arm-linux-gcc -v 時,發現有什麼東西沒找到,所以我就去相關文件夾查了一下,發現4.4.3文件夾上鎖了,所以我感覺就是這個鎖的鍋,所以我在網上找了一下去掉文件夾鎖的指令:
sudo chmod -R 777 文件或文件夾 (首先要到達4.4.3的目錄下)
然後在輸入 arm-linux-gcc -v 就會出現版本號了,也就代表安裝成功。
之後我就趕緊建立一個hello.c文件想趕快試試交叉編譯環境,可是發現又會出現如下錯誤:
while loading shared libraries: libstdc++.so.6: cannot open shared object file
解決方法:sudo apt-get install lib32stdc++6
親測可以使用。
最終 輸入 arm-linux-gcc -o Hello hello.c
不報錯,這就正式安裝成功了。
也就到這里了,杭州的冬天凍腳,想回東北!
⑷ 如何在linux下調試Java system.loadlibrary錯誤
1. 我認為這個問題是與調用System.loadLibrary(字元串)LD_LIBRARY_PATH。使用LoadLibrary(「富」)將看著你的java.library.path的libfoo.so。如果發現任何libfoo.so你會得到這個錯誤。 現在,如果你只設置了LD_LIBRARY_PATH,你想要的原始符號將自動被拾起的連接器,所以你不需要設置-Djava.library.path。 在我的經驗與swig在GDAL項目,這個錯誤其實是無害的,因為LD_LIBRARY_PATH設置,這將正常工作。 我會使用-Djava.library.path和調用調用LoadLibrary explitly CodeGo.net,原因是,如果你決定要使用的webstart部署你的應用程序,你將需要顯式地調用LoadLibrary來讓你的本地庫拾起。 當月食我遵循達夫給您編輯在構建路徑Libraries選項卡下的jar本地庫的說明。只需再次,這只是設置在幕後java.library.path。
2. 你可以試試-Djava.library.path=actual.so行吧? 在Windows上,我也有類似的問題,第三方庫,JNI封裝的DLL,它的DLL。我的項目已經在lib目錄下的DLL,這樣我添加到庫的路徑(如:PATH=%PATH%;./lib變,一切都開始工作。
3. 據我知道的Eclipse沒有關系'的LD_LIBRARY_PATH。 要樹立正確的本地庫路徑的最簡單的方法就是去 項目屬性-> Java構建路徑->庫 然後展開或者JRE的系統庫條目或(如果有的話)的 jar文件的本地庫, 選擇「本地庫位置」,然後單擊「編輯...」並選擇你的庫。實際上它並設置-Djava.library.path變數,以便你必須包括這行,如果你開始從外面蝕你的程序的文件夾。
4. 這可能是因為你只需要找到運行配置對話框中合適的地方放-Djava.library.path=...選項。隨口說說我想你想-D在選項卡上的「VM定義,而如果要定義LD_LIBRARY_PATH就是那張在標簽上。Eclipse的讓你把東西在那裡他們贏得'你覺得什麼反正我庫這樣的地方以前,如果我有機會,我會仰望我做了什麼,在這里編輯我的答案。 另一件事,試圖與LD_DEBUG玩。您可以設置變數LD_DEBUG的事情(嘗試所有),然後Linux載入程序會泄露的各種關於什麼一個應用程序試圖載入,它在尋找的東西,等等。當然,這種預先假定您啟動Eclipse從行,所以你可以同時設置ENV增值經銷商,看到了loader的診斷,但就系統而言,當你從Eclipse中運行你的應用,你的應用程序僅僅是Eclipse是干什麼的,所以任何的庫裝載行為cocoa見以這種方式。
5. 是否有你的兩個庫依賴於任何其他庫?如果是這樣,你需要確保他們也可以訪問到JVM。 請注意,手動設置「-Djava.library.path」似乎清除預設的庫路徑。 所以,用下面的代碼:public class LibTest {
public static void main(String[] args) {
String property = System.getProperty("java.library.path");
StringTokenizer parser = new StringTokenizer(property, ":");
while (parser.hasMoreTokens()) {
System.err.println(parser.nextToken());
}
}
}
從eclipse與Java 1.6.0_14輸出啟動:/opt/java/jre/lib/i386/client
/opt/java/jre/lib/i386
/opt/java/jre/../lib/i386
/opt/java/jre/lib/i386/client
/opt/java/jre/lib/i386
/usr/lib/xulrunner-devel-1.9.0.11
/usr/lib/xulrunner-devel-1.9.0.11
/usr/java/packages/lib/i386
/lib
/usr/lib
但是,當我設置的JVM ARG「-Djava.library.path=/ tmp目錄/」我只得到:/tmp/
如果您要手動設置java.library.path這也許可以解釋為什麼LDD的作品從行,但你的,所以不會從eclipse/ java的。 你可以試試不設置,而不是調用System.loadLibrary java.library.path System.load的絕對路徑到庫中。這可能使JVM能夠找到你,所以,默認的路徑尋找它的依賴時。 當然,如果這是,那麼你也可以嘗試打開JNI調試輸出與「-verbose:當使用JNI」上線。這可能給您的線索來解決問題。
6. 是LD_LIBRARY_PATH環境工作
7. 加入這個答案可能是它可以在AIX機器,我們需要設置LIBPATH變數,而不是LD_LIBRARY_PATH。
⑸ centos怎麼查看gdal版本
方法/步驟
1
首先下載安裝Python2.7.2
2
下
載gdal-19-1600-core.msi和GDAL-1.9.2.win32-py2.7.msi,注意要和python的版本保持一致,因為它有
32位和64位版本,當然你可以根據自己的實際情況查找對應的版本
3
下載完成之後,安裝gdal-19-1600-core.msi,接著安裝GDAL-1.9.2.win32-py2.7.msi
4
將路徑"C:\Program Files (x86)\GDAL"添加到Path環境變數
5
打開Python Shell ,此處以IDLE (Python GUI)為例,輸入import gdal 敲回車,然後輸入import ogr 敲回車,如果沒有報錯,說明開發環境搭建成功!
⑹ 打包在集群運行hadoop時,老出現錯誤如下,程序用到gdal庫,在網上說什麼添加.so到java的jdk jre什麼的都
把這個jar包添加到jre的ext目錄下,集群所有機器都一樣處理,再試試,不行重啟下