geoserver发布mysql表数据
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/
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
-----欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/
如果您觉得本文确实帮助了您,可以微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^
geoserver发布mysql表数据的更多相关文章
- 利用Flume将MySQL表数据准实时抽取到HDFS
转自:http://blog.csdn.net/wzy0623/article/details/73650053 一.为什么要用到Flume 在以前搭建HAWQ数据仓库实验环境时,我使用Sqoop抽取 ...
- 如何实现MySQL表数据随机读取?从mysql表中读取随机数据
文章转自 http://blog.efbase.org/2006/10/16/244/如何实现MySQL表数据随机读取?从mysql表中读取随机数据?以前在群里讨论过这个问题,比较的有意思.mysql ...
- MySQL 表数据多久刷一次盘?
前言 事情是这样的,在某乎的邀请回答中看到了这个问题: - 然后当时我没多想就啪一下写下来这样的答案: 这个其实要通过 MySQL 后台线程来刷的,在 Buffer Pool 中被修改的过的 Page ...
- ElasticSearch+ElasticGeo+Geoserver发布ES地理数据
依赖GeoserverElasticSearchElasticGeo部署部署ElasticGeo使用创建ES数据源并发布发布 依赖 Geoserver 环境搭建参考: ElasticSearch 环境 ...
- Python将MySQL表数据写入excel
背景:将mysql表查询结果写入excel. 1.使用sqlyog工具将查询结果导出到Excel.xml中,用excel打开发现:因为text字段中有回车换行操作,显示结果行是乱的. 2.用mysql ...
- linux下用命令导出mysql表数据
由于数据库服务器是内网环境,只能通过linux跳板机连接,所以navicat工具暂时用不上. 1.用Xshell工具连接跳板机 2.再通过跳板机连接数据库服务器 >ssh -p port ip ...
- Selenium应用代码(读取mysql表数据登录)
1. 封装链接数据库的类: import java.sql.ResultSet; import java.sql.Connection; import java.sql.DriverManager; ...
- Python mysql表数据和json格式的相互转换
功能: 1.Python 脚本将mysql表数据转换成json格式 2.Python 脚本将json数据转成SQL插入数据库 表数据: SQL查询:SELECT id,NAME,LOCAL,mobil ...
- MySQL 表数据的导入导出
数据导出 1. 使用 SELECT ...INTO OUTFILE ...命令来导出数据,具体语法如下. mysql> SELECT * FROM tablename INTO OUTFILE ...
随机推荐
- Scala学习笔记:重要语法特性
1.变量声明 Scala 有两种变量, val 和 var val的值声明后不可变,var可变 val msg: String = "Hello yet again, world!&quo ...
- 【转】mysql 中int类型字段unsigned和signed的区别
转自https://www.cnblogs.com/wangzhongqiu/p/6424827.html 用法: mysql> CREATE TABLE t ( a INT UNSIGNED, ...
- C# 冒泡法
C#冒泡排序 1:原理 以此比较相邻的两个元素,每次比较完毕最大的一个字跑到本轮的末尾. 目的:按从小到大排序. 方法: 假设存在数组:72, 54, 59, 30, 31, 78, 2, 77, ...
- SSM-Spring-04:Spring的DI的构造注入,P命名注入,和集合注入
------------吾亦无他,唯手熟尔,谦卑若愚,好学若饥------------- DI和IOC相比,DI更偏向于实现 DI的set方式注入在前面入门案例里有写,所以此处不多啰嗦,直接开搞,先说 ...
- Kali Linux桥接模式配置DNS服务器
操作环境: 虚拟机操作系统: Kali Linux 2017.2 虚拟化软件: VMWare Workstation 14 pro 操作前的准备: 在设置里将Kali的上网模式设置成"桥接模 ...
- SwipeListView 详解 实现微信,QQ等滑动删除效果
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/28508769 今天看别人项目,看到别人使用了SwipeListView,Goog ...
- Hadoop问题:DataNode进程不见了
DataNode进程不见了 问题描述 最近配置Hadoop的时候出现了这么一个现象,启动之后,使用jps命令之后是这样的: 看不到DataNode进程,但是能够正常的工作,是不是很神奇啊? 在一番 ...
- NOI前的考试日志
4.14 网络流专项测试 先看T1,不会,看T2,仙人掌???wtf??弃疗.看T3,貌似最可做了,然后开始刚,刚了30min无果,打了50分暴力,然后接着去看T1,把序列差分了一下,推了会式子,发现 ...
- [Usaco2007 Open]Fliptile 翻格子游戏 状压dp
n,m<=15,直接搞肯定不行,考虑一行一行来, 每一行的状态只与三行有关,所以从第一行开始枚举,每一次让下面一行填上他上面那行的坑 最后一行必须要同时满足他自己和他上面那行,否则舍去 #inc ...
- BZOJ_4238_电压_树上差分+dfs树
BZOJ_4238_电压_树上差分+dfs树 Description 你知道Just Odd Inventions社吗?这个公司的业务是“只不过是奇妙的发明(Just Odd Inventions)” ...