geoserver实现属性表编辑
思路
刚开始脑子没拐过弯,想着直接后台改geojson,然后再返给前端,想着编辑的话,必须得走wfs得修改请求;可是仔细想想,只是改属性数据得话,其实可以直接让后台改属性表就行,也把一套得东西放到了GIS这边,哈哈,对我来说方便些。
1.shp数据导入mysql
网上查了很多方法,下面的方法走通了。
1.1shp数据转换.sql文件
使用网上比较多共享的工具shp2mysql,但是大概率会碰到需要挺多积分,但下下来,发现少了cygwin1.dll文件;链接: 工具shp2mysql.,希望写这个工具的大佬,不要怪罪。使用时,将shp以及shp的相关文件和DOShere的doc文件放在同一目录,打开DOShere,输入如下我实例的指令即可:
//test:shp名;test2:数据表名;test3:sql文件名;4326:
shp2mysql -s 4326 -d test.shp test2 mysql_db > test3.sql
1.2使用命令导入test3.sql文件
打开mysql命令窗口
//mysql:数据库
mysql>use mysql
mysql>source d:test3.sql
导入之后,相比平时使用表,多了一个"ogc_geom"字段;
一般情况都会遇到,汉字编码问题,
记得使用UTF-8,qgis默认使用的system,arcgis默认使用UTF-8
一般情况都会遇到,时区问题
mysql里面设置 set global time_zone = ‘+8:00’; 但是mysql服务重启失效,需要到配置文件里面修改时区。
Caused by: java.sql.SQLException:
The server time zone value '?й???????' is unrecognized or represents more than one time zone.
You must configure either the server or JDBC driver (via the 'serverTimezone' configuration property) to use a more specifc time zone value if you want to utilize time zone support.
2.geoserver连接mysql
2.1进入: geoserver官网,下载mysql插件
2.2解压之后的jar包,放到geoserver-2.18.0-bin\webapps\geoserver\WEB-INF\lib,路径下,重启geoserver.
重启之后,如果插件成功,打开geoserver,新建数据源,会看到