文章版權由做者李曉暉和博客園共有,若轉載請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/html
Geoserver中並不自帶mysql數據發佈功能,須要下載對應插件。mysql
將其放入geoserver的lib中,發佈,查看添加數據源會出現mysql數據源:sql
須要有geometry類型的字段。微信
點擊發布便可:函數
有些狀況下,咱們可能沒有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
a.點、線、面類型的geometry都可以支持。server
b.WFS中數據編輯和空間查詢都可以,精度無誤。
c.WMS出圖能夠支持。
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)
目前mysql5中還有部分空間關係函數未實現,具體羅列爲:
CONTAINS、CROSSES、DISJOINT、DISTANCE、EQUALS、INTERSECTS、OVERLAPS、RELATED、TOUCHES、WITHIN以及空間分析操做函數,包括做緩衝區、聯合、切割等操做。
可是大部分函數均以實現,包含格式類函數WKT與WKB互轉,空間拓撲類、空間計算類。總結以下:
的GEOMFROMTEXT和ASTEXT函數。
DIMENSION,返回對象的尺寸,-1爲空,0爲點(沒有長度沒有面積),1爲線(有長度而沒有面積),2爲多邊形(有面積)
ENVELOPE,返回最小邊界矩形
GEOMERYTYPE,返回幾何類型(字符串)
SRID,所謂SRID是空間基準座標指示符,表示一個幾何類型的座標系統
X,Y兩個函數用於返回點的X座標和Y座標
GLENGTH,返回線長
ISCLOSED,是否爲封閉線段
NUMPOINTS,線段包含點的數目
STARTPOINT,ENDPOINT,POINTN,分別返回起點,終點和指定位置的點
AREA,返回多邊形面積
EXTERIORRING,返回線型的外環
INTERIORRINGN,返回指定的內環(對於包含空洞的多邊形)
NUMINTERIORRINGS,返回空洞數目
GEOMETRYN,返回指定位置的幾何類型
NUMGEOMETRIES,返回對象數目
MySQL提供了一組函數來判斷幾個對象和最小邊界矩形的位置關係
MBRCONTAINS
MBRDISJOINT
MBREQUAL
MBRINTERSECTS
MBROVERLAPS
MBRTOUCHES
MBRWITHIN
具體請查看:
https://dev.mysql.com/doc/refman/5.7/en/func-op-summary-ref.html
-----歡迎轉載,但保留版權,請於明顯處標明出處:http://www.cnblogs.com/naaoveGIS/
若是您以爲本文確實幫助了您,能夠微信掃一掃,進行小額的打賞和鼓勵,謝謝 ^_^