文章版权由做者李晓晖和博客园共有,若转载请于明显处标明出处: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/
若是您以为本文确实帮助了您,能够微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^