文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

1.前言

本开源方案的构架是:geoserver(服务器)+tomcat(中间件)+postgis(数据库)+uDig(desktop)。

本文将主要讲解如何将shp数据通过postgis导入到postgresql中,并且在uDig上进行展示和编辑,然后如何将postgresql中的图层数据通过geoserver进行发布。

2.通过postgis将shp数据入库

2.1环境

需装有postgresql+postgis。安装完成后,在程序目录中可以看到:

2.2. 入库

a. 点击 此工具,会弹出对话框:

b.设置数据库的连接

点击connection,在弹出的对话框中设置连接属性:

连接成功会有以下日志:

注意:此处的database一定要是集成了postgis的数据库模板的数据库才行,否则空间数据无法导入。

c.选择要导入的shp数据

点击Add File,会弹出如下对话框:

选择要导入的shp数据,选择完后点击确定:

注意:shp所在的文件夹路径一定要是英文,否则在导入时会导入失败。

d.数据导入

注意:首先要点击Options,进行编码设置。根据我的测试,UTF-8的编码在图层中有中文属性时,导入会出现错误。这里建议将编码设置为:GBK。

点击Import,开始导入。导入成功后,会有如下日志:

e.在postgresql中查看导入的shp数据:

3.通过uDig查看和编辑postgresql中的shp数据

3.1环境

需装有uDig软件。安装成功后,在程序目录中可以看到:

3.2在uDig中查看postgis中的数据

a.点击Layer——>add,选择PostGIS:

b.填写连接属性:

c.将postgis中的图层添加到当前map中:

d.uDig中显示添加的图层:

3.3对图层进行编辑

编辑完后点击Enter:

注意:一定要点击工具栏中的 ,才能将编辑成功提交。

4.通过geoserver发布postgresql中的shp数据

4.1 环境

需发布一个geoserver服务。发布成功后,可以在浏览器中打开网页:

4.2 发布地图服务

a.点击stores——>add stores——>postGIS,在进入的页面中填写连接属性:

b.选择要发布的shp图层:

c.填写图层信息:

d.发布服务及查看:

点击save后,图层即发布成功。在layer preview中可以查看发布的图层:

注意:可以明显的看到通过uDig编辑后的要素已被成功保存。

-----欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

如果您觉得本文确实帮助了您,可以微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^

                                      

WebGIS开源方案中空间数据的入库、编辑、发布的操作流程的更多相关文章

  1. 开源WebGIS实施方案(四):GeoServer发布PostGIS数据

    GeoServer可以支持多种格式的数据源,本文只介绍其中一种,即PostGIS数据源. 新建一个工作区.工作区这个名字也是一变再变,早前叫做目录,后来改为工作空间,如今已变为工作区了. 添加数据存储 ...

  2. 开源WebGIS实施方案(五):基于SLD实现图层符号化及其应用

    SLD概述 SLD(OpenGIS® Styled Layer Descriptor):图层样式注记.其当前版本是1.1.0.SLD是一种描述地图图层样式的标准,一般用于WMS中的图层符号化. 说白了 ...

  3. 开源WebGIS实施方案(六):空间数据(PostGIS)与GeoServer服务迁移

    研发环境的变更,或者研发完成进行项目现场实施.运维的时候,经常就会面临数据及服务的迁移,这其中就包含空间数据以及GeoServer服务的迁移工作. 这里需要提醒的是:如果采用的是类似的开源WebGIS ...

  4. 基于开源方案构建统一的文件在线预览与office协同编辑平台的架构与实现历程

    大家好,又见面了. 在构建业务系统的时候,经常会涉及到对附件的支持,继而又会引申出对附件在线预览.在线编辑.多人协同编辑等种种能力的诉求. 对于人力不是特别充裕.或者项目投入预期规划不是特别大的公司或 ...

  5. 关于WebGIS开源解决方案的探讨

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 公司目前的多数项目采用的是ArcGIS产品+Oracle+W ...

  6. 关于WebGIS开源解决方案的探讨(转载)

    1.背景 公司目前的多数项目采用的是ArcGIS产品+Oracle+WebLogic/Tomcat/APUSIC/WebShpere这样的架构.由于 公司从事的是政府项目,甲方单位普遍均采购有以上产品 ...

  7. 关于WebGIS开源解决方案的探讨(转)

    关于WebGIS开源解决方案的探讨   文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/. 1.背景 公司目前的多数项目采 ...

  8. 开源方案搭建可离线的精美矢量切片地图服务-3.Mapbox个性化地图定制入门

    1.简介 mapbox是一家非常牛的公司,比如像特斯拉.DJI大疆创新.孤独星球.Airbnb.GitHub.Cisco.Snap.飞猪.Keep.Bosch这些在国内外各自领域中响当当的企业都是它的 ...

  9. 开源方案搭建可离线的精美矢量切片地图服务-4.Mapbox样式设计

    项目成果展示(所有项目文件都在阿里云的共享云虚拟主机上,访问地图可以会有点慢,请多多包涵). 01:中国地图:http://test.sharegis.cn/mapbox/html/3china.ht ...

随机推荐

  1. MySQL修改root密码的多种方法

    不知道在cmd模式下是不是区分大小写,我大写成功了,小写没成功,不知是我拼写的错误,还是区分大小写!!?? 方法1: 用SET PASSWORD命令 mysql -u root mysql> S ...

  2. centos中yum安装mysql路径

    1. 使用命令service mysqld stop 停止mysql 查看mysql数据库的默认路径:/var/lib/mysql 使用cp -afir  /var/lib/mysql/*   /us ...

  3. USACO翻译:USACO 2014 DEC Silver三题

    USACO 2014 DEC SILVER 一.题目概览 中文题目名称 回程 马拉松 奶牛慢跑 英文题目名称 piggyback marathon cowjog 可执行文件名 piggyback ma ...

  4. TestNG 与 Junit的比较

    转自 http://www.blogjava.net/fanscial/archive/2005/12/14/23780.html 1.         JDK 5 Annotations (JDK ...

  5. (转载)H.264码流的RTP封包说明

    H.264的NALU,RTP封包说明(转自牛人) 2010-06-30 16:28 H.264 RTP payload 格式 H.264 视频 RTP 负载格式 1. 网络抽象层单元类型 (NALU) ...

  6. 【转】Artificial Neurons and Single-Layer Neural Networks

    原文:written by Sebastian Raschka on March 14, 2015 中文版译文:伯乐在线 - atmanic 翻译,toolate 校稿 This article of ...

  7. The easy way to implement a Red-Black tree

    Red-Black trees are notorious for being nightmares of pointer manipulation. Instructors will show th ...

  8. ios获取左右眼图片景深图

    cv::Mat leftMat,rightMat,depthMapMat; UIImageToMat(leftImage, leftMat); UIImageToMat(rightImage, rig ...

  9. Some warning were found during validation

    前几天做一个iOS下的App更新,到上传的时候出了问题,一直传了大半个小时,结果还是没传完,再试依然不行,于是只好关机,把电脑带回家弄. 回家后出现了更奇怪的事,经过漫长等待后,竟然出现这个提示: 我 ...

  10. 仅此一文让你明白ASP.NET MVC 之Model的呈现(仅此一文系列三)

    本文目的 我们来看一个小例子,在一个ASP.NET MVC项目中创建一个控制器Home,只有一个Index: public class HomeController : Controller { pu ...