OpenLayer3+PostGIS+GeoServer 搭建简单GIS服务框架问题探究

传统GIS开发中,我们一般会采用ArcGIS或者SuperMap作为GIS平台来进行开发,简单的分析查询会采用官方api或者leaflet,esri-leaflet等进行开发,复杂的查询分析统计功能会利用Geoprocessor(简称GP)来进行操作,采用这种商业平台好处显而易见是开发效率很大的提升,因为在这么多年的发展过程中,官方社区或者一些解决方案都很成熟。在开发过程中遇到的一般问题如果不是很好解决,也可以很方便的向技术支持寻求帮助。但是缺点就是费用很高,一整套产品下来就要好几十万,对于开发成本来说这个费用还是很高的。因此提出了基于OpenLayer3+PostGIS+GeoServer 搭建GIS服务框架的想法。

1 GeoServer:一款开源WebGIS地图服务器,类似ArcGIS Server,提供统一OGC接口服务WMS/WFS/WMTS,功能比较强大,便于使用,使用量多较成熟;

2 OpenLayer:一款开源前台地图API产品,对数据进行可视化、空间分析、成果展示;

3 PostGIS:一款开源先进的开源空间数据库;

4 PostgreSQL:PostgreSQL(以下简称PG数据库) 是一个自由的对象-关系数据库服务器(数据库管理系统),除了作为普通关系数据库所具有的的特征外,我看到其最吸引的优势是其数据类型,包括:任意精度的数值,无限制长度文本,几何图元,IP地址与IPv6地址,无类域间路由地址块,MAC地址,数组…………此外,用户可以创建自定义数据类型,通常通过PostgreSQL的GiST机制,它们也能被很好得索引,比如PostGIS地理信息系统的数据类型, 同时也要指出的是,PostgreSQL 对接口的支持也是非常丰富的,几乎支持所有类型的数据库客户端接口。这一点也可以说是 PostgreSQL 一大优点。

  • 步骤一    底图导出

用太乐底图下载器下载天地图或者百度地图当作服务底图(推荐使用天地图,因为天地图坐标系默认采用web墨卡托投影不偏移,下载好数据之后导出,需要注意下面几点

1 存储标准选择大图拼接,存储格式选择tif格式(geoserver支持),选择级别只选择最高等级即可,虽然我们下载了总共有18级,但是不需要全部选中,效果是一样,这一点我已经在ArcMap进行测试。

2 在导出的高级设置选项里面 ,把默认的智能分块进行取消掉,选择坐标系是xian80坐标系

         

  • 步骤二   地理配准

     1  打开ArcMap  把所下载的地理数据tif格式导入到ArcMap,颜色会进行变化。  图层属性里面 拉伸选择无就好了

       

2   然后把shp数据叠加在一起  ,如果有偏移的话,可以进行地理校准。然后把校准的数据导出保存。如果在ArcMap中可以叠加 不便宜 就可以在geoserver 上调取服务叠加。

        

3   可以通过把postgis 导入到postgresql (步骤就不详细写了,网上教程很多)。 需要注意的事项就是postgis要安装在同一安装目录。

数据如下。

postgressql 下载地址:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads#windows

postgis 下载地址:http://postgis.net/windows_downloads/

  • geoserver 服务发布

1 登陆geoserver ,左侧新建工作区  写好之后 提交

      

2 左侧新建数据存储,可以选择新建的工作区。选择tif格式,把数据进行发布。也可以进行切图处理。

同理 shp数据也可以这样发布。可以选择从本地打开或者从数据库导入shp数据。(这需要注意一点 shp数据不能为中文!)

        

  •  步骤三  前端叠加展示

      

原文地址:https://www.cnblogs.com/lhgis/p/9565926.html

时间: 2024-10-27 02:57:03

OpenLayer3+PostGIS+GeoServer 搭建简单GIS服务框架问题探究的相关文章

[angularjs] MVC + Web API + AngularJs 搭建简单的 CURD 框架

MVC + Web API + AngularJs 搭建简单的 CURD 框架 GitHub 地址:https://github.com/liqingwen2015/Wen.MvcSinglePage 布局页的引用 <script src="~/Scripts/jquery-1.10.2.min.js"></script> <script src="~/Scripts/bootstrap.min.js"></script&g

搭建简单Django服务并通过HttpRequester实现GET/POST请求提交表单

调试Django框架写的服务时,需要模拟客户端发送POST请求,然而浏览器只能模拟简单的GET请求(将参数写在url内),网上搜索得到了HttpRequester这一firefox插件,完美的实现了模拟POST提交表单的需求,这里记录一下简单Django服务的搭建.以及使用HttpRequester对应进行GET/POST请求操作的流程. 1,搭建Django服务 1.1 搭建简单服务 搭建一个简单的Django服务很容易,只需要一行命令即可创建一个可运行的Django服务,若未安装Django

maven+SpringMVC搭建RESTful后端服务框架

今天来尝试一下搭建基于SpringMVC的RESTful标准的后端服务. 首先,什么是MVC?M-model,模型,指业务数据层,具体一点就是业务逻辑与数据库的交互:V-view,视图,用来展示数据,传统SpringMVC中控制器有返回类型ModelAndView,即返回含有数据模型与页面视图的jsp文件:C-controller,控制器,通常负责处理与用户间的交互,控制从数据库取数与返回结果到用户等. 那么,什么是REST风格的服务呢?REST(Representational State T

maven+spring boot搭建简单微服务

项目需要使用spring boot,所以自学了几天,仅提供给新手,请根据文档查看-该项目仅是测试项目,并不完善和严谨,只实现了需要使用的基本功能.写该博客一是希望能够帮助刚学习的新人,二是加深自己的印象,如果忘了也可以再看看,有些片段是从其他博客学习来的,如有问题希望能提出来,由衷的表示感谢. 主要开发环境:jdk:1.8: maven:3.3:tomcat:8等. 涉及技术:spring boot.springMVC.maven.JdbcTemplate.json.HttpClient等. 推

使用node搭建简单的服务

//创建依赖模块var http = require('http');var url = require('url');var fs = require('fs');var server = http.createServer();var htmlDir = __dirname + '/';//console.log(htmlDir); //处理url请求function sendData(file,req,res) {    // console.log('file: ' + file);  

简单Spring Cloud 微服务框架搭建

微服务是现在比较流行的技术,对于程序猿而言,了解并搭建一个基本的微服务框架是很有必要滴. 微服务包含的内容非常多,一般小伙伴们可以根据自己的需求不断添加各种组件.框架. 一般情况下,基本的微服务框架包含:框架:注册中心.负载均衡.声明式服务(feign).容错(hystrix).网关(权限)gateway 和 配置(resource) 注册中心:现在比较常用的有eureka.nacos 负载均衡:包括feign.ribbon等技术,相关对比可以参考另一位老哥的博客:<负载均衡之feign与rib

[CI] 使用CodeIgniter框架搭建RESTful API服务

在2011年8月的时候,我写了一篇博客<使用CodeIgniter框架搭建RESTful API服务>,介绍了RESTful的设计概念,以及使用CodeIgniter框架实现RESTful API的方法.转眼两年过去了,REST在这两年里有了很大的改进.我对于前一篇博客中的某些方面不是很满意,所以希望能利用这次机会写一个更加完善的版本.我的项目基于Phil Sturgeon的CodeIgniter REST Server,遵循他自己的DBAD协议.Phil的这个项目很棒,干净利落,简单实用,并

Dubbo入门---搭建一个最简单的Demo框架

Dubbo背景和简介 Dubbo开始于电商系统,因此在这里先从电商系统的演变讲起. 单一应用框架(ORM) 当网站流量很小时,只需一个应用,将所有功能如下单支付等都部署在一起,以减少部署节点和成本. 缺点:单一的系统架构,使得在开发过程中,占用的资源越来越多,而且随着流量的增加越来越难以维护 垂直应用框架(MVC) 垂直应用架构解决了单一应用架构所面临的扩容问题,流量能够分散到各个子系统当中,且系统的体积可控,一定程度上降低了开发人员之间协同以及维护的成本,提升了开发效率. 缺点:但是在垂直架构

基于SpringMVC下的Rest服务框架搭建【1、集成Swagger】

基于SpringMVC下的Rest服务框架搭建[1.集成Swagger] 1.需求背景 SpringMVC本身就可以开发出基于rest风格的服务,通过简单的配置,即可快速开发出一个可供客户端调用的rest服务,通常这些服务要不就是用于手机app的开发,要不就是提供给第三方开发者使用,不管哪种情况,你都需要提供详细的说明给别人,而Swagger就是为这种情况而生的,通过在接口上的注解,生成可供第三方模拟测试和阅读的接口列表,既美观又使用,真是行走江湖之必备良药. [XmPlatform原创,转载的