1. 程式人生 > >geoserver釋出mysql表資料

geoserver釋出mysql表資料

1.環境部署

Geoserver中並不自帶mysql資料釋出功能,需要下載對應外掛。

 

 

將其放入geoserver的lib中,釋出,檢視新增資料來源會出現mysql資料來源:

 

2.Mysql資料釋出

2.1配置資料來源

 

2.2釋出圖層

2.2.1原始表釋出

需要有geometry型別的欄位。

 

點擊發布即可:

 

2.2.2檢視釋出

有些情況下,我們可能沒有the_geom欄位,或者表中的資料並不是我們需要全部發布,此時mysql資料來源支援檢視釋出。

點選建立檢視:

 

SQL後可增加過濾條件,如下所示:

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

 

3.功能測試彙總

a.點、線、面型別的geometry均可以支援。

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

                                                                           如果您覺得本文確實幫助了您,可以微信掃一掃,進行小額的打賞和鼓勵,謝謝 ^_^