新聞中心
GeoServer 是一個開源的地理信息系統(tǒng)軟件,通過它可以將地理空間數(shù)據(jù)發(fā)布成各種標(biāo)準(zhǔn)的 OGC(Open Geospatial Consortium)服務(wù),包括 WMS、WFS、WMTS、WPS 等。同時,GeoServer 支持多種數(shù)據(jù)源,包括文件系統(tǒng)、數(shù)據(jù)庫和 Web 服務(wù)等。在很多 GIS 項目中,數(shù)據(jù)的存儲和處理通常會采用數(shù)據(jù)庫的方式,GeoServer 能夠很好地與各種數(shù)據(jù)庫交互,將數(shù)據(jù)存儲和發(fā)布變得更加簡潔和高效,避免了繁瑣的數(shù)據(jù)轉(zhuǎn)換和導(dǎo)入過程,幫助用戶更好地快速實現(xiàn)數(shù)據(jù)共享和可視化分析。

站在用戶的角度思考問題,與客戶深入溝通,找到玉州網(wǎng)站設(shè)計與玉州網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都做網(wǎng)站、網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、域名注冊、虛擬主機(jī)、企業(yè)郵箱。業(yè)務(wù)覆蓋玉州地區(qū)。
一、GeoServer 連接數(shù)據(jù)庫的優(yōu)勢
1. 數(shù)據(jù)庫存儲穩(wěn)定可靠
數(shù)據(jù)庫通常使用成熟的、穩(wěn)定的技術(shù),保證數(shù)據(jù)存儲的可靠性和數(shù)據(jù)安全性。使用 GeoServer 連接數(shù)據(jù)庫,可以確保數(shù)據(jù)在存儲和傳輸過程中的完整性和一致性,以及對數(shù)據(jù)進(jìn)行復(fù)雜的統(tǒng)計分析。
2. 管理更加集中
數(shù)據(jù)存儲在數(shù)據(jù)庫中,可以通過統(tǒng)一的管理方式進(jìn)行管理,包括備份、還原、災(zāi)備,以及數(shù)據(jù)權(quán)限控制等。這樣可以減少數(shù)據(jù)管理的復(fù)雜程度,管理更加便捷。
3. 數(shù)據(jù)一致性更高
使用 GeoServer 連接數(shù)據(jù)庫,可以確保數(shù)據(jù)在存儲和使用過程中的一致性。當(dāng)數(shù)據(jù)變化時,只需在數(shù)據(jù)庫中修改,不需要手動更新。此外,使用數(shù)據(jù)庫可以保證統(tǒng)一的數(shù)據(jù)格式和結(jié)構(gòu),避免由于數(shù)據(jù)格式不同而產(chǎn)生的諸多問題。
4. 快速地共享數(shù)據(jù)
通過 GeoServer,可以將數(shù)據(jù)庫中的數(shù)據(jù)快速地發(fā)布成各種標(biāo)準(zhǔn)的 OGC 服務(wù),讓用戶可以輕松地訪問、共享和使用。這樣可以大大提高數(shù)據(jù)利用率和數(shù)據(jù)的社會化價值,同時也能滿足對數(shù)據(jù)快速交互和可視化分析的需求。
二、GeoServer 連接數(shù)據(jù)庫的方法
GeoServer 支持連接不同類型的數(shù)據(jù)庫,包括 PostGIS、Oracle、MySQL、SQL Server 等。下面以 PostGIS 為例,講解 GeoServer 連接數(shù)據(jù)庫的方法。
1. 安裝 PostGIS
在連接數(shù)據(jù)庫之前,首先需要安裝 PostGIS。PostGIS 是一個能夠使用 SQL 進(jìn)行空間數(shù)據(jù)存儲、查詢和操作的數(shù)據(jù)庫擴(kuò)展,它支持 OpenGIS 定義的標(biāo)準(zhǔn)和規(guī)范,并提供了一些額外的功能。
2. 安裝 JDBC 驅(qū)動
在 GeoServer 中連接數(shù)據(jù)庫需要使用 JDBC 驅(qū)動程序。JDBC 驅(qū)動程序是一個用于連接數(shù)據(jù)庫的 Java 應(yīng)用程序接口。在 GeoServer 中,需要將 JDBC 驅(qū)動程序拷貝到 GeoServer 安裝目錄下的 lib 目錄中。
3. 創(chuàng)建數(shù)據(jù)存儲
創(chuàng)建數(shù)據(jù)存儲是連接數(shù)據(jù)庫的之一步。在 GeoServer 的 Web 界面中,首先需要進(jìn)入“存儲”界面,選擇所需要的數(shù)據(jù)庫類型,輸入數(shù)據(jù)庫的連接信息,包括數(shù)據(jù)庫名稱、用戶名、密碼等。
4. 添加圖層
添加圖層是連接數(shù)據(jù)庫的最后一步。在 GeoServer 中,可以通過添加圖層來將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)布成 WMS 服務(wù)。添加圖層時需要指定數(shù)據(jù)源、數(shù)據(jù)表和幾何字段等信息,同時可以對圖層屬性進(jìn)行設(shè)置。
三、GeoServer 連接數(shù)據(jù)庫的案例
下面介紹一個 GeoServer 連接數(shù)據(jù)庫的案例,以展示 GeoServer 連接數(shù)據(jù)庫的優(yōu)勢和使用方法。
Case:江蘇省生態(tài)環(huán)境廳水環(huán)境監(jiān)測平臺
江蘇省生態(tài)環(huán)境廳水環(huán)境監(jiān)測平臺是一個基于 GeoServer 和 PostGIS 的大型地理信息系統(tǒng)應(yīng)用。該項目以江蘇省為主要服務(wù)對象,通過對水環(huán)境監(jiān)測數(shù)據(jù)進(jìn)行統(tǒng)一采集、處理和分析,實現(xiàn)了水環(huán)境監(jiān)測數(shù)據(jù)的快速共享、查詢和可視化分析。
GeoServer 作為數(shù)據(jù)存儲和發(fā)布的主要工具,與 PostGIS 數(shù)據(jù)庫保持聯(lián)系,通過 WMS、WFS、WMTS 等標(biāo)準(zhǔn)的 OGC 服務(wù),將水環(huán)境監(jiān)測數(shù)據(jù)發(fā)布給各地區(qū)水環(huán)境部門和相關(guān)研究人員。同時,它還支持空間數(shù)據(jù)編輯、查詢和分析,提供了多種可視化分析工具和報表功能,幫助用戶更好地理解和分析水環(huán)境數(shù)據(jù)。
該項目的成功實現(xiàn),證明 GeoServer 連接數(shù)據(jù)庫的優(yōu)勢和可行性。通過使用 GeoServer 連接數(shù)據(jù)庫,可以簡化數(shù)據(jù)管理流程,提高數(shù)據(jù)利用率和共享效率,實現(xiàn)數(shù)據(jù)共享和可視化分析,為行業(yè)用戶提供更好的服務(wù)。
四、
通過本文的介紹,我們了解了使用 GeoServer 連接數(shù)據(jù)庫的優(yōu)勢、方法和應(yīng)用,了解了 GeoServer 如何將數(shù)據(jù)庫中的數(shù)據(jù)發(fā)送給用戶,并將其發(fā)布成標(biāo)準(zhǔn)的 OGC 服務(wù)。無論是、企業(yè)還是個人,都可以利用 GeoServer 連接數(shù)據(jù)庫,建立自己的 GIS 系統(tǒng),更好地處理和分析地理空間數(shù)據(jù),為實現(xiàn)可持續(xù)發(fā)展和環(huán)保事業(yè)做出貢獻(xiàn)。
成都網(wǎng)站建設(shè)公司-創(chuàng)新互聯(lián),建站經(jīng)驗豐富以策略為先導(dǎo)10多年以來專注數(shù)字化網(wǎng)站建設(shè),提供企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,響應(yīng)式網(wǎng)站制作,設(shè)計師量身打造品牌風(fēng)格,熱線:028-86922220如何導(dǎo)入PostgreSQL數(shù)據(jù)庫數(shù)據(jù)
說起數(shù)據(jù)庫,大家耳熟能詳?shù)纳虡I(yè)數(shù)據(jù)庫產(chǎn)品當(dāng)頌悉推Oracle、微軟的SqlServer和IBM的
DB2等,而開源數(shù)據(jù)庫中則有兩大產(chǎn)品MySQL和PostgreSQL。
PostgreSQL 是一種對象-關(guān)系型數(shù)據(jù)庫管理系統(tǒng)(ORDBMS),也野巧乎是目前功能最強(qiáng)大、
特性最豐富和最復(fù)雜的自由軟件數(shù)據(jù)庫系統(tǒng)。它起源于伯克利(BSD)的數(shù)據(jù)庫研究計劃,
目前是最重要的開源數(shù)據(jù)庫產(chǎn)品開發(fā)項目之一,有著非常廣泛的用戶。
PostgreSQL 可以說是最富特色的自由數(shù)據(jù)庫管理系統(tǒng),也有人認(rèn)為可以是最強(qiáng)大的自由
軟件數(shù)據(jù)庫管理系統(tǒng)。PostgreSQL 是唯一支持事務(wù)、子查詢、多版本并行控制系統(tǒng)、數(shù)據(jù)完
整性檢查等特性的唯一的一種自由軟件的數(shù)據(jù)庫管理系統(tǒng)。能在多平臺下—包括Linux、
FreeBSD和Windows等—運行,并且支持多語言的開發(fā)。
在兩大開源數(shù)據(jù)庫產(chǎn)品的對比中,一般認(rèn)為MySQL速度更快,所以得到更為廣泛的使
用;而PostgreSQL性能更為先進(jìn),PostgreSQL 提供很多 MySQL 目前所不支持的特性,比
如觸發(fā)器、視圖、存儲過程等等,在記錄數(shù)超千萬之后性能表現(xiàn)尤其出色。
當(dāng)前的最新版本是PostgreSQL 8.2.3,官方網(wǎng)站是:
www.postgresql.org
1.2 什么是PostGIS
PostGIS在對象關(guān)系型數(shù)據(jù)庫PostgreSQL上增加了存儲管理空間數(shù)據(jù)的能力,相當(dāng)于
Oracle的spatial部分。PostGIS更大的特點是符合并且實現(xiàn)了OpenGIS的一些規(guī)范,是最著
名的開源GIS數(shù)據(jù)庫。
當(dāng)前的最新版本是PostGIS 1.2.1,官方網(wǎng)站是:
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
當(dāng)前Etch中的版本:PostgreSQL是8.1.7,而PostGIS是1.1.6,雖然不是最新的版本,
但已經(jīng)足夠了。
還需要做的工作是:
1) 創(chuàng)建一個專門用于PostGIS的數(shù)據(jù)庫并為專用數(shù)據(jù)庫導(dǎo)入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) 創(chuàng)建一個專門的用戶,并把相應(yīng)的數(shù)據(jù)庫和數(shù)據(jù)表的屬主設(shè)置為該用戶:
# 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配置文件以便可以遠(yuǎn)程使用。
修改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
這句的意思是:同網(wǎng)絡(luò)中192.168.0.*的機(jī)器可以以密碼的形式使用所有的數(shù)據(jù)庫。更具
體的參數(shù)意義直接看該配置文件中的注釋就可以了。
這里一定要配置正確,否則無法在遠(yuǎn)程連接PostgreSQL數(shù)據(jù)庫。
2.3 源碼安裝PostgreSQL和PostGIS
參閱以前寫的老文章。
三 PostGIS的使用
要使用PostGIS,需要兩方面的預(yù)備知識,一是要熟悉基本的SQL語法;二是熟悉
PostgreSQL數(shù)據(jù)庫的基本使用。
(一) 快速入門
我們使用前面創(chuàng)建的數(shù)據(jù)庫wen2,用戶為wen1,現(xiàn)在創(chuàng)建一個包含三個點的數(shù)據(jù)庫
test1:
首先在Etch下以wen1登陸,然后打開wen2數(shù)據(jù)庫:
$ 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創(chuàng)建了一個包含三個點的GIS數(shù)據(jù)表。
為了能在QGIS中打開這一圖層,我們還需要為數(shù)據(jù)表創(chuàng)建一個主鍵:
wen2=>alter table test1 add primary key (myID);
可以看到PostGIS的使用其實就相當(dāng)于使用一個經(jīng)過擴(kuò)展的SQL語法,上述語句熟悉
SQL語法的人一看都很熟悉,都是普通的SQL語句,不同的只不過是增加了PostGIS特殊的
geometry數(shù)據(jù)類型。
你可以再試試這些SQL語句:
select * from test1;
select myID,AsText(pt) from test1;
select Distance(pt, ‘POINT(0 0)’) from test1;
(二) PostGIS的Geometry數(shù)據(jù)類型
Geometry可以說是PostGIS最重要的一個概念,是“幾何體”的意思,由于PostGIS很
好地遵守OGC的”Simple Feature for Specification for
SQL”規(guī)范,目前支持的幾何體類型包
含其實例有:
POINT(1 1)
MULTIPOINT(1 1, 3 4, -1 3)
LINESTRING(1 1, 2 2, 3 4)
POGON((0 0, 0 1, 1 1, 1 0, 0 0))
MULTIPOGON((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具體表現(xiàn)又有兩種形式,一種叫做WKT(Well Known Text)形式,如上面的
例子?;蛘呤褂萌缦耂QL語句瀏覽:
select AsText(pt) from test1;
另一種叫做“Canonical Form”形式,看上去是一串古怪的數(shù)字,其實是一種增強(qiáng)的十六
進(jìn)制編碼,使用如下SQL語句就可以瀏覽了:
select pt from test1;
(三) 讀寫PostGIS數(shù)據(jù)
建設(shè)好PostGIS數(shù)據(jù)庫之后,我們現(xiàn)在需要進(jìn)行讀寫GIS數(shù)據(jù)了,包括把GIS寫入到
PostGIS數(shù)據(jù)庫中以及在應(yīng)用程序中使用PostGIS數(shù)據(jù)庫的數(shù)據(jù)。讀寫PostGIS目前主要有以
下四種方式:
3.1 使用psql語言
Psql語言是PostgreSQL內(nèi)嵌的一個命令行工具,其語法基本上和標(biāo)準(zhǔn)的SQL語法是一
致的,可以使用Psql工具,結(jié)合標(biāo)準(zhǔn)SQL語法和一些PostGIS的擴(kuò)展對PostGIS數(shù)據(jù)庫進(jìn)行
讀寫操作。
具體例子如上面“快速入門”中的例子。
這種方式功能強(qiáng)大,但全部需要手工操作,煩瑣且繁重。
3.2 使用一些小工具
有兩個很有用的小的轉(zhuǎn)換工具,一是shp2pg;一是ogr2ogr
3.2.1 shp2pgsql和pgsql2shp
shp2pgsql和pgsql2shp是PostGIS自身攜帶的一對在Shape文件和PostGIS數(shù)據(jù)庫之間進(jìn)
行轉(zhuǎn)換的工具,在Debian中安裝好PostGIS之后,這兩個程序已經(jīng)位于可執(zhí)行文件的搜索路
徑上,因此可以在系統(tǒng)中任何位置使用。
假如當(dāng)前目錄下有完整的china.shp文件(應(yīng)該有三個同名不同擴(kuò)展名的文件),需要把其
中數(shù)據(jù)輸入到上述的wen2數(shù)據(jù)庫中的數(shù)據(jù)表china_postgis中,具體操作為(操作用戶為
wen1):
$ shp2pgsql china china_postgis > tmp.sql
$ psql -d wen2 -f roads.sql
這個工具很好用,缺點在于使用范圍有限,只針對Shape文件格式。
3.2.2 ogr2ogr
PostGIS本身的shp2pg工具只把shape文件轉(zhuǎn)換到PostGIS 數(shù)據(jù)庫中,那如何把其他的
GIS數(shù)據(jù)加入呢?比如說MapInfo的mid格式,ESRI的e00格式呢?這就要使用ogr這個工
具了。
Ogr目前是gdal的一個組成部分,那什么是gdal呢?其官方主頁(
)上
如此介紹:
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數(shù)據(jù)格式的轉(zhuǎn)換軟件庫,ogr則是轉(zhuǎn)換矢量GIS數(shù)據(jù)的
軟件庫。
目前ogr能夠支持的數(shù)據(jù)格式包括:
Arc/Info Binary Coverage、DWG、ESRI Personal
GeoDatabase、ArcSDE、ESRI
Shapefile、GML、GRASS、Mapinfo File、Microstation DGN、ODBC、Oracle
Spatial和
PostgreSQL等。應(yīng)該說,這就基本包括了我們平常用到的所有矢量型GIS文件格式了。
Gdal支持的柵格數(shù)據(jù)格式參閱http: //
www.gdal.org/formats_list.html
下面我們從源碼編譯安裝gdal—因為我在Debian下使用apt方式安裝的gdal并不支持
postgresql數(shù)據(jù)庫,其實更為簡便的方法也許是去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
這里我習(xí)慣把軟件安裝在/opt目錄下。
–with-pg參數(shù)很重要,使ogr可以支持PostGIS,后面的參數(shù)是我的PostGIS安裝的地方。
我在這里編譯很多次失敗,經(jīng)過仔細(xì)查找,發(fā)現(xiàn)問題出在ogdi上,所以暫時我只好使
它不支持ogdi。
4) make
5) make install
下面是使用過程,假設(shè)現(xiàn)在我要把一個rai.mid文件導(dǎo)入到數(shù)據(jù)庫data1中:
$ ogr2ogr –f Postgresql PG:dbname=data1 rai.mid
注意,f參數(shù)后面跟的是導(dǎo)入的數(shù)據(jù)類型,最后那個文件才是要導(dǎo)出的文件。PG后面說
明的是數(shù)據(jù)庫的名字,需要是已經(jīng)創(chuàng)建好的數(shù)據(jù)庫,而數(shù)據(jù)表則由程序自動創(chuàng)建。還要特別
注意權(quán)限問題,以上命令我是由postgres用戶執(zhí)行的。
還有一個要注意的是主鍵問題。一般情況下,你使用shp2pg或者 ogr2ogr向postgis中
增加了Gis數(shù)據(jù)后,在GIS客戶端添加postgis圖層的時候,常常會因為數(shù)據(jù)表沒有定義主鍵
而出錯,解決的辦法是,在服務(wù)器上使用psql或者其他sql工具,使用命令:
alter table table_name add primary key (column_name);
另外我們發(fā)現(xiàn)ogr竟然是不支持最常見的GIS格式e00格式,好象是因為版權(quán)方面的原
因吧。解決的方法就是去sf.net查找相關(guān)工具。我在上面就找到一個e002pg工具,支持將
e00文件導(dǎo)入到postGIS數(shù)據(jù)庫中。
3.3 在其他GIS軟件中讀寫PostGIS數(shù)據(jù)
比如在QGIS中,能夠打開PostGIS圖層,還有SPIT插件可以把Shape文件輸入到
PostGIS數(shù)據(jù)庫中。
其他GIS軟件如uDig,Grass等,甚至連ArcInfo都支持或部分支持讀寫PostGIS數(shù)據(jù)。
3.4 利用接口在應(yīng)用程序中讀寫PostGIS數(shù)據(jù)
廣大的開源GIS程序員幾乎為每一種程序設(shè)計語言設(shè)計好了讀寫PostGIS的接口,如利
用PostgreSQL的JDBC庫,可以使用Java語言在程序中讀寫PostGIS數(shù)據(jù);利用libpq庫,
可以使用C語言讀寫PostGIS數(shù)據(jù)。
(四) 使用PostGIS函數(shù)
4.1 PostGIS函數(shù)
要能熟練使用PostGIS,掌握PostGIS的所有函數(shù)是關(guān)鍵。通過掌握這些PostGIS函數(shù),
我們能夠高效、穩(wěn)定地處理各種地理數(shù)據(jù)。由于PostGIS的函數(shù)設(shè)計時都遵守OpenGIS規(guī)范,
我們也可以把這些PostGIS叫做OpenGIS函數(shù)。
4.2 PostGIS函數(shù)的分類
PostGIS函數(shù)大致可以分為以下四類
1) 字段處理函數(shù)
這類函數(shù)當(dāng)前一共有3個,分別是:
AddGeometryColumn(var1,var2,var3,var4,var5,var6):為已有的數(shù)據(jù)表增加一個地理幾何
數(shù)據(jù)字段。Var1代表數(shù)據(jù)表的模式(schema)的名字,一般是public,也可以省略,則使用當(dāng)
前的缺省模式;var2是已有的數(shù)據(jù)表的名字;var3是新的地理數(shù)據(jù)字段的名字;var4是
SRID值,不確定的話就取-1吧;var5是地理數(shù)據(jù)的類型,可以是POINT等;var6是指該幾
何數(shù)據(jù)是二維還是三維數(shù)據(jù)。
前面的SQL語句 create table test1 (myID int4, pt geometry, myName
varchar )更規(guī)范的寫
法為:
create table test1 (myID int4, myName varchar );
select AddGeometryColumn(‘test1′,’pt’,-1,’GEOMETRY’,2);
DropGeometryColumn函數(shù)顯然是刪除一個地理數(shù)據(jù)字段的;
SetSRID函數(shù)顯然是設(shè)置SRID值的。
2) 幾何關(guān)系函數(shù)
這類函數(shù)目前共有10個,分別是:
Distance Equals Disjoint Intersects Touches Crosses Within
Overlaps Contains Relate
3) 幾何分析函數(shù)
這類函數(shù)目前共有12個,分別是:Centroid Area Lenth PointOnSurface Boundary
Buffer
ConvexHull Intersection SymDifference Difference GeomUnion
MemGeomUnion
4) 讀寫函數(shù)
這類函數(shù)很多,主要是用于在各種數(shù)據(jù)類型之間的轉(zhuǎn)換,尤其是在于Geometry數(shù)據(jù)類
型與其他如字符型等數(shù)據(jù)類型之間的轉(zhuǎn)換,函數(shù)名如AsText、GeomFromText等,其作用是
顯然的。
4.3 PostGIS函數(shù)使用示例。
假設(shè)在我們的wen2數(shù)據(jù)庫中,有兩張表,一張為guojia,是從“國家基礎(chǔ)地理數(shù)據(jù)”
網(wǎng)站下載的國界數(shù)據(jù)表,數(shù)據(jù)類型為LINE;二為shengqu_polygon,也從同一個網(wǎng)站下載,
地理數(shù)據(jù)類型為多邊形。
1) 查詢我國邊境線的長度:
wen1=> select sum(length(the_geom)) as lenth from guojie;
2) 查詢我國面積更大的省區(qū)名字:
wen1=> select name area(the_geom) as myarea
from shengqu_polygon
order by myarea DESC
LIMIT 1;
(五) 使用PostGIS擴(kuò)展函數(shù)
除了上述遵循OpenGIS的函數(shù)之外,PostGIS還自行擴(kuò)展了一些當(dāng)前OpenGIS規(guī)范之外
的函數(shù),主要包括以下幾類:
5.1 管理類函數(shù)
擴(kuò)展的管理類函數(shù)主要包括一些軟件版本查詢函數(shù),如
postgis_version()、postgis_geos_version()、postgis_proj_version()函數(shù)等,分別查詢當(dāng)前的
PostGIS的版本及其使用的Geos和Proj庫的版本。
5.2 數(shù)據(jù)類型的輸入輸出函數(shù)
除了OpenGIS定義的地理數(shù)據(jù)類型之外,PostGIS還對數(shù)據(jù)類型進(jìn)行了擴(kuò)展,這種擴(kuò)展
主要是兩方面的擴(kuò)展,一是把二維的數(shù)據(jù)向三維和四維擴(kuò)展;二就是在WKT和WKB數(shù)據(jù)
類型基礎(chǔ)上擴(kuò)展出EWKT和EWKB數(shù)據(jù)類型。
PostGIS提供了在這些地理數(shù)據(jù)類型和常用數(shù)據(jù)類型如字符型、浮點型數(shù)據(jù)之間進(jìn)行轉(zhuǎn)
換的函數(shù)。
5.3 量算函數(shù)
如length3d函數(shù)是對length2d函數(shù)的擴(kuò)展。
5.4 幾何操作函數(shù)
如addBBox(geometry)函數(shù)給所給的幾何體加上一個邊框。
如simplify(geometry,tolerance)函數(shù)可以對折線和多邊形利用Douglas-Peuker算法進(jìn)行一
些節(jié)點進(jìn)行刪除,從而使表現(xiàn)的圖形更簡單而清晰,在網(wǎng)絡(luò)傳輸數(shù)據(jù)時具有更高的效率。
5.5 操作符號
5.6 其他擴(kuò)展函數(shù)
(六) 建立PostGIS索引
當(dāng)數(shù)據(jù)庫的記錄增大的時候,如果沒有建立索引的話,操作的效率就顯著下降。
POstGIS建議當(dāng)記錄數(shù)超過幾千的時候就應(yīng)該建立索引,而GIS數(shù)據(jù)庫一般都是海量數(shù)據(jù),
所以對PostGIS而言,索引就非常重要。
Shapfile文件為ESRI公司的文件存儲格式,并且得到了業(yè)界廣泛的支持。Shapfile格式是一種簡單的,用非拓樸關(guān)系的形式存儲幾何位置和地
理特征的屬性信息的格式。雖然GeoServer采用Shapfile文件可以快速的創(chuàng)建網(wǎng)上地圖服務(wù),但它的缺點確很明顯:
1、Shapefile只支持一個圖層,在實際中沒有意義。
2、直接保用SHP文件不安全,Shapfile文件很容易被病毒或其他原因誤刪除。
3、GeoServer中用Shapfile文件作數(shù)據(jù)源的效率是很低的。
4、Shapfile中的漢字GeoServer不能解析,會出現(xiàn)亂碼。
5、數(shù)據(jù)庫可以方便的對地理信息進(jìn)行查詢。
用PostGIS管理空間數(shù)據(jù)
PostGIS支持GIST空間索引(附錄1)、規(guī)范窗體,能很大的提高處理效率。
OGC格式只提供二維的幾何體,且相關(guān)聯(lián)的SRID從未深入的用于輸入輸出請求,PostGIS支持OpenGIS組織”Simple
Features for
SQL”規(guī)范指定的所有GIS對象和函數(shù),并進(jìn)行了擴(kuò)展,格式是EWKB、EWKT,其中增加了對3DZ,3DM和4D
坐標(biāo)系的支持(當(dāng)然三維、四維數(shù)據(jù)的OGC標(biāo)準(zhǔn)還未完全制定),深入引進(jìn)了SRID信息。
空間數(shù)據(jù)表結(jié)構(gòu):PostGIS中存在兩個必需的元數(shù)據(jù)表格, SPATIAL_REF_SYS(空間參考表格) 和
GEOMETRY_COLUMNS(幾何體屬性列),兩個表用于存儲空間數(shù)據(jù)庫使用的坐標(biāo)系統(tǒng)數(shù)字ID和文本描述。
PostGIS的shp2pgsql命令可以將Shapfile直接導(dǎo)入到數(shù)據(jù)庫中也可以導(dǎo)出為SQL文件,推薦先導(dǎo)出為SQL文件再將此文件在SQL運行窗口中執(zhí)行可將數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫。
Shapfile到SQL語句:
shp2pgsql 路徑shp數(shù)據(jù)文件名 新建的數(shù)據(jù)表名 >
路徑SQL文件名.sql
Shapfile直接入庫:
shp2pgsql -c 路徑shp數(shù)據(jù)文件名 新建的數(shù)據(jù)表名 數(shù)據(jù)庫名|psql -d 數(shù)據(jù)庫名
舉例說明:
如將一Shapfile文件“c:road.shp”導(dǎo)入到數(shù)據(jù)表“road”中,數(shù)據(jù)庫為“sap”。
1、運行“命令提示符”。
2、切換至PostgreSQL數(shù)據(jù)庫安裝目錄中的bin目錄下。
3、執(zhí)行此目錄下的shp2pgsql命令:“shp2pgsql c:road.shp road >
c:road.sql”。
4、如將此文件直接導(dǎo)入數(shù)據(jù)庫(不推薦):“shp2pgsql -c c:road.shp road
sap | psql -d sap”。
5、使用pgAdmin3
選擇數(shù)據(jù)庫,再導(dǎo)入表。
Geoserver發(fā)布地理空間數(shù)據(jù)
可以用filter設(shè)定顯示數(shù)據(jù)啊
geoserver連接數(shù)據(jù)庫的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關(guān)于geoserver連接數(shù)據(jù)庫,使用 GeoServer 連接數(shù)據(jù)庫,數(shù)據(jù)存儲無憂,如何導(dǎo)入PostgreSQL數(shù)據(jù)庫數(shù)據(jù),Geoserver發(fā)布地理空間數(shù)據(jù)的信息別忘了在本站進(jìn)行查找喔。
成都創(chuàng)新互聯(lián)科技有限公司,經(jīng)過多年的不懈努力,公司現(xiàn)已經(jīng)成為一家專業(yè)從事IT產(chǎn)品開發(fā)和營銷公司。廣泛應(yīng)用于計算機(jī)網(wǎng)絡(luò)、設(shè)計、SEO優(yōu)化、關(guān)鍵詞排名等多種行業(yè)!
分享文章:使用GeoServer連接數(shù)據(jù)庫,數(shù)據(jù)存儲無憂(geoserver連接數(shù)據(jù)庫)
文章起源:http://m.fisionsoft.com.cn/article/cocsiej.html


咨詢
建站咨詢
