上海腾科教育干货分享达梦数据库课程使用DM数据库发布空间类型数据到GEOSERVER
1、环境准备
搭建环境前需要确定使用哪种方式配置DM数据库和GEOSERVER。
1.1 GEOSERVER2.8.3
安装包可以从官网下载,在windows环境下基本只需要一直下一步就可以了,需要在安装过程中记住使用的端口号以及用户名和密码。
注:在安装的过程中需要制定jdk的路径,如图所示,通常会自动查找环境变量中的值。
1.2 添加DM的驱动
使用jndi+tomcat连接数据库
使用文件配合Tomcat连接数据库
使用jdbc直接连接数据库
使用作为驱动直接连接数据库
本例将使用jdbc直连的方式进行配置,将jar包放入E:\Program Files (x86)\GeoServer 2.8.3\webapps\geoserver\WEB-INF\lib的目录下,是geoserver后台能读取到该路径的驱动文件。
1.3 启动geoserver服务
安装完成后,在安装目录的bin文件夹中有启动脚本
E:\Program Files (x86)\GeoServer 2.8.3\bin --根据实际情况使用 |
双击startup.bat文件启动服务
2、配置连接
打开浏览器在地址栏输入本机/远程的服务器信息,注意端口号为在安装过程中指定的端口(在启动窗口的最后一句可显示当前端口号)。登录用户名默认为admin/geoserver
登录成功后可以对geoserver进行配置
2.1 添加DM数据作为数据源
点击左侧菜单栏数据存储,再点击添加新的数据存储
选择Dameng作为S矢量数据源
填写一些基本的数据库连接信息后点击保存
2.2 在DM数据库中启用空间类型包
检测DMGEO包是否启用
--检测DMGEO系统包是否启用,0表示未启用,1表示启用 select SF_CHECK_GEO_SYS (); |
创建/删除系统包
--启用DMGEO系统包 SP_INIT_GEO_SYS(1); |
--删除DMGEO系统包 SP_INIT_GEO_SYS(0); |
创建一个空间类型的表并插入一条记录
--创建一个线类对象 CREATE TABLE TEST_GEO ( PID SMALLINT , SUB_LINESTRING ST_LINESTRING ); |
--插入一个线对象 INSERT INTO TEST_GEO VALUES ( 1 , dmgeo.ST_LineFromText ( 'linestring (10.05 10.28, 20.95 20.89)' , 4269 )); |
需要调用dmgeo的包函数进行数据读写,详情可参考doc/special/DM7系统包使用手册。
3、发布地图数据
3.1 在geoserver中添加图层
点击左侧菜单栏的图层,再点击添加新的资源,在单选框中选中数据源DM
搜索新建的表名,点击发布即可对该图层进行编辑
注:由于此处该表我只有一条数据,所以可以直接使用表作为图层,也可以使用sql语句创建新的视图来作为图层数据源。
边框与经纬度边框均可从数据中计算得出。点击保存。
在图层的资源列表可以看到新添加的图层TEST_GEO
3.2 图层预览
左侧菜单栏中选择Layer Preview,并点击对应图层的OpenLayers即可,如图所示
线对象预览图:
其余空间对象也可以使用同样的方法将DM数据库中的数据发布到web上。