geoserver發佈mysql表數據

 文章版權由做者李曉暉和博客園共有,若轉載請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/html

1.環境部署

Geoserver中並不自帶mysql數據發佈功能,須要下載對應插件。mysql

 

 

將其放入geoserver的lib中,發佈,查看添加數據源會出現mysql數據源:sql

 

2.Mysql數據發佈

2.1配置數據源

 

2.2發佈圖層

2.2.1原始表發佈

須要有geometry類型的字段。微信

 

點擊發布便可:函數

 

2.2.2視圖發佈

有些狀況下,咱們可能沒有the_geom字段,或者表中的數據並非咱們須要所有發佈,此時mysql數據源支持視圖發佈。測試

點擊建立視圖:spa

 

SQL後可增長過濾條件,以下所示:插件

select t.*,POINTFROMTEXT(CONCAT('POINT(',revised_coord_x,' ',revised_coord_y,')')) as  the_geom from  tc_test t where flag=13d

 

3.功能測試彙總

a.點、線、面類型的geometry都可以支持。server

b.WFS中數據編輯和空間查詢都可以,精度無誤。

c.WMS出圖能夠支持。

 

4.mysql中Geometry類型總結

4.1 WKT介紹

Geometry中幾何要素的描述與PG同樣,均爲WKT(Well-known text)標記語言。WKT能夠表示的幾何對象包括:點,線,多邊形,TIN(不規則三角網)及多面體。如下爲字串樣例:

 

POINT(6 10) 
LINESTRING(3 4,10 50,20 25) 
POLYGON((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,3 2,2 2)) 
MULTIPOINT(3.5 5.6, 4.8 10.5) 
MULTILINESTRING((3 4,10 50,20 25),(-5 -8,-10 -8,-15 -4)) 
MULTIPOLYGON(((1 1,5 1,5 5,1 5,1 1),(2 2,2 3,3 3,3 2,2 2)),((6 3,9 2,9 4,6 3))) 
GEOMETRYCOLLECTION(POINT(4 6),LINESTRING(4 6,7 10)) 
POINT ZM (1 1 5 60) 
POINT M (1 1 80) 
POINT EMPTY 
MULTIPOLYGON EMPTY

 

可是mysql中geometry類型的最終存儲卻須要是WKB(well-known-binary),二進制格式佔用空間更小。

總結,MySQL遵照OGC的OpenGIS Geometry Model,支持如下空間數據對象
Geometry (non-instantiable) 
         Point (instantiable)

         Curve (non-instantiable)

                  LineString (instantiable)

                  Line

                   LinearRing

         Surface (non-instantiable)

                  Polygon (instantiable)

         GeometryCollection (instantiable)

                   MultiPoint (instantiable)

                   MultiCurve (non-instantiable)

                   MultiLineString (instantiable)

                   MultiSurface (non-instantiable)

                   MultiPolygon (instantiable)

 

 

4.2空間函數

 

目前mysql5中還有部分空間關係函數未實現,具體羅列爲:

CONTAINS、CROSSES、DISJOINT、DISTANCE、EQUALS、INTERSECTS、OVERLAPS、RELATED、TOUCHES、WITHIN以及空間分析操做函數,包括做緩衝區、聯合、切割等操做。

 

可是大部分函數均以實現,包含格式類函數WKT與WKB互轉,空間拓撲類、空間計算類。總結以下:

4.2.1轉換WTK函數

的GEOMFROMTEXT和ASTEXT函數。

 

4.2.2幾何類的函數


DIMENSION,返回對象的尺寸,-1爲空,0爲點(沒有長度沒有面積),1爲線(有長度而沒有面積),2爲多邊形(有面積)
ENVELOPE,返回最小邊界矩形
GEOMERYTYPE,返回幾何類型(字符串)
SRID,所謂SRID是空間基準座標指示符,表示一個幾何類型的座標系統

 

4.2.3點對象的函數


X,Y兩個函數用於返回點的X座標和Y座標

 

4.2.4線對象的函數


GLENGTH,返回線長
ISCLOSED,是否爲封閉線段
NUMPOINTS,線段包含點的數目
STARTPOINT,ENDPOINT,POINTN,分別返回起點,終點和指定位置的點

4.2.5多邊形對象的函數

AREA,返回多邊形面積
EXTERIORRING,返回線型的外環
INTERIORRINGN,返回指定的內環(對於包含空洞的多邊形)
NUMINTERIORRINGS,返回空洞數目

 

4.2.6幾何集合對象的函數


GEOMETRYN,返回指定位置的幾何類型
NUMGEOMETRIES,返回對象數目

 

4.2.7最小邊界矩形空間關係函數


MySQL提供了一組函數來判斷幾個對象和最小邊界矩形的位置關係
MBRCONTAINS
MBRDISJOINT
MBREQUAL
MBRINTERSECTS
MBROVERLAPS
MBRTOUCHES
MBRWITHIN

4.3其餘函數參考

 

具體請查看:

https://dev.mysql.com/doc/refman/5.7/en/func-op-summary-ref.html

 

      

                     -----歡迎轉載,但保留版權,請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/

                                                                           若是您以爲本文確實幫助了您,能夠微信掃一掃,進行小額的打賞和鼓勵,謝謝 ^_^

                                      

相關文章
相關標籤/搜索