技术标签: 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
如果您觉得本文确实帮助了您,可以微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^
http://blog.chinaunix.net/uid-23204078-id-2525171.html[误解]#define _XOPEN_SOURCE决不是简单的宏定义它是使程序符合系统环境的不可缺少的部分[概念]Glibc 所实现全部或部分规范下的功能有:1.ISO C: C语言国际标准. 2.POSIX: 操作系统的 ISO/IEC 9945 (
1. 实例代码package com.ruoyi.common.utils;import org.junit.Rule;import org.junit.jupiter.api.Test;import org.junit.rules.ExpectedException;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;import static org.juni
“小程序”来了,微信变成名副其实的 Web OS,新一轮的Web App 与Native App争论四起。程序员对新技术永远保持灵敏的嗅觉和旺盛的好奇心,@李锦发整理了微信小程序资源汇总,涵括微信 Web 开发者工具,WeApp 教程,站点收集和代码实例,持续更新,GitHub 地址:awesome-wechat-weapp .除了“小程序”的大热点之外,本期 fir.imWeekly 重点整...
PS C:\Users\hongzhi> Get-Help get-*Name Category Synopsis---- -------- --------Get-Verb Function Get...
基于XMPP协议的手机多方多端即时通讯方案目 录基于XMPP协议的手机多方多端即时通讯方案................................................................. 1目 录.................................................................
一、read([size])方法read([size])方法从文件当前位置起读取size个字节,若无参数size,则表示读取至文件结束为止,它范围为字符串对象f = open("a.txt")lines = f.read()print linesprint(type(lines))f.close()运行结果:HelloWelcomeWhat is the fuck...<type 'str'> #字符串类型二、readline()方法从字面意思可以看出,该方法
以前在新浪博客发表代码,由于新浪博客对代码的发表不太支持,所以现在搬家到CSDN,感觉这才是为程序猿专门设计的博客,很喜欢这里的代码发表格式!赞一个! 原博客地址是: http://blog.sina.com.cn/iecoder
TCP连接为什么是三次握手?断开为什么是四次挥手?1.三次握手TCP连接换成四次握手行不行?为什么?换成两次握手行不行?为什么? 这是我面试时遇到的原题 首先来说一下三次握手,为什么需要三次握手呢?因为TCP提供的是可靠传输服务,因此它在传输之前必须要进行传输的可靠性测试和一些信息的同步,反观UDP就不用这些握手操作。三次握手正好使双方都能测试传输的可靠性,同时也能进行信息同步,三...
Android开发笔记——快速入门(壹)[系统架构和Android Studio安装]文章目录Android开发笔记——快速入门(壹)[系统架构和Android Studio安装]@[TOC](文章目录)软件环境:Android的系统架构Linux 内核硬件抽象层 (HAL)Android Runtime原生 C/C++ 库Java API 框架系统应用Android的四大组件和SQLite数据库四大组件SQLite数据库Android Studio开发环境的搭建:总结软件环境:Jetbrains
当我们在使用GPU进行训练和推断时,经常会发现爆显存的问题。一开始的时候相信很多人跟我一样有个疑问,就是明明显存没占用,可是还是会爆?这里以8张卡为例,假设前面4张卡被人占用之后,还有后面4张卡是空的,如果这时候我们只是单纯的指定CUDA:0这样,那么必然会报下面这个错:RuntimeError: cuda runtime error (2) : out of memory at mmdet...
代码如下: 1 #导包 2 from selenium import webdriver 3 from time import sleep 4 driver=webdriver.Chrome() 5 url="https://192.168.21.150/" 6 driver.implicitly_wait(10) 7 #通过url打开事务所...
文章目录gMAD CompetitionIQA模型比较应用范例gMAD CompetitionMAD[33]和gMAD竞争方法背后最基本的想法是放弃传统的原则。这里我们不是试图证明一个模型,而是试图反驳一个模型,一个更难被反驳的模型被认为是一个相对较好的模型。这个新原则使我们有机会大大减少所需的测试样本数量,因为在理想情况下,即使是一个反例也足以证明一个模型是错误的。gMAD方法的另一个重要组成部分是使用一种高效和自动的方法来找到潜在的反例。当试图反驳一个模型(被称为辩护者defender)时,不