GeoServer手动发布本地Shapefile地图
首先,本文实现的结果图给大家展现一下:
放大的样子:
颜色是通过属性中某个字段值来分级的,可以自定义。
上面功能是用ArcGIS切片好数据,在Geoserver 中发布,并用google地图作为底图展示的效果。
一、ArcGIS是什么?
ArcGIS由ESRI公司开发,是一款创建和绘制各种不同形式地图的软件。
本文所采用的地图数据一般由测绘人员采集,经过gis数据处理人员绘制成图再打包给开发人员经过代码处理展示在网页端。
以下是ArcGIS旗下软件ArcMap的切片地图原图,图中密密麻麻分成了6000多个面,每个面是把地图放大后,一点一点勾勒出来,再加入属性数据,这是一项非常耗时+耗精力+耗眼睛的工作。
二、Geoserver是什么?
顾名思义,是一个server,利用它可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过GeoServer可以比较容易的在用户之间迅速共享空间地理信息。
值得一提的是,它是开源的,而ESRI公司开发的同类型产品ArcServer却是一款收费的GIS服务器,而且价格比较高。
三、为什么Geoserver这么高效?
随着瓦片的概念被提出以来,利用金字塔模型缓存地图瓦片的模式代替传统地图框架,大大提高了网络地图的响应速度。
如图所示,在某一个点上用一定的切片算法对地图进行切片,比如经纬度步长等比例分割成的瓦片(小图片)缓存起来,如果地图比例尺比较大,则只展示第一张图,随着地图放大,同时发生四次请求来加载第二层的四张图片,直至放大加载到最后一层。
当需要定位一个地方时,可以根据刚才的经纬度步长来计算具体位置。
四、如何把ArcGIS的.shp文件发布到Geoserver里?
1.配置环境
搭建GeoServer环境需要安装包:Java JDK 7、Tomcat 7 、geoserver.war(最新版本的GeoServer 2.0.2版已经内置了HTTP服务器)。安装包可以私信我,数据的话自己网上找找ArcGIS切片地图文件,因为签了保密协议,博主不能提供。
把geoserver.war放在Tomcat的webapp下启动就可以访问了。
用户名是admin,密码是geoserver,登录后页面如下:
2.加入style
打开GeoServer界面,点击Styles,如图
进入新页面后,点击Add new style
在新打开的页面,Name命名为liugh,在代码区添加代码,然后点击页面中的Validate按钮,如果代码没有问题,在页面的顶部会提示“No validation errors”,然后点击提交
也可以直接导入styles文件,如下图,点击SLD file的浏览按钮,导入liugh.sld文件,然后点击Upload,上传成功后点击Validate检查代码,按Submit提交,步骤和上面的相同
3.发布地图
style设置成功后,添加ArcGIS切片好的数据
单机后进入如下页面,我们可以看到前文提到的ESRI公司,这里需要.shp文件。
点击后,开始设置地图名称、路径等信息,注意,地图文件的路径中千万不要有中文,否则地图无法显示
保存后弹出以下页面,点击发布
设置坐标系和边界
先不要点击下方的保存,点击发布选项卡
把刚才设置的style加进来
然后点击最下方的保存就发布成功了
4.查看发布的地图
在打开的页面中找到刚刚添加的图层,点击OpenLayers
最终展示效果如下:
到这里我们的地图发布就完成了,那如何把它加载到谷歌地图里展示呢?敬请期待下一篇文章:
高效访问海量地图数据--用OpenLayers访问Geoserver发布的地图
GeoServer手动发布本地Shapefile地图的更多相关文章
- 如何在GeoServer上发布一张地图
在GeoServer上发布一张地图步骤大致如下: 先准备一张地图,格式可以是:jpg.png.tif等. Jpg文件对应的坐标信息文件为jgw格式文件,投影文件为prj文件;Tif文件对应的坐标信息文 ...
- 手动发布本地jar包到Nexus私服
1.Nexus配置 1. 在Nexus私服上建立仓库,用于盛放jar包,如名叫3rd_part. 2. 注册用户Nuxus用户,如名叫dev,密码dev_123. 3. 给dev用户分配能访问3rd_ ...
- 云服务器--linux系统操作命令以及安装ngnix记录,以及手动部署本地文件
1.控制台登陆服务器,需要首先知道服务器ip和密码,,命令是 ssh root@1.1.1.1(服务器IP),然后输入密码登入服务器 2.查看linux 版本的系统命令是 cat /etc/redha ...
- GeoServer基础教程(三):部署发布Shapefile地图数据
转载:http://blog.csdn.net/mingzai624. 这是GeoServer官方网站提供的一份Shapefile测试数据 nyc_roads.zip ,包含了部分纽约的道路信息,我们 ...
- JavaWeb和WebGIS学习笔记(三)——GeoServer 发布shp数据地图
系列链接: Java web与web gis学习笔记(一)--Tomcat环境搭建 Java web与web gis学习笔记(二)--百度地图API调用 JavaWeb和WebGIS学习笔记(三)-- ...
- GeoServer自动发布地图服务
1 NetCDF气象文件自动发布案例 GeoServer是一个地理服务器,提供了管理页面进行服务发布,样式,切片,图层预览等一系列操作,但是手动进行页面配置有时并不满足业务需求,所以GeoServer ...
- ArcGIS api fo silverlight学习一(silverlight加载GeoServer发布的WMS地图)
最好的学习资料ArcGIS api fo silverlight官网:http://help.arcgis.com/en/webapi/silverlight/samples/start.htm 一. ...
- Geoserver 发布shp格式地图服务
本文实践参考https://blog.csdn.net/zj3172172173/article/details/53336704 第一步: 安装geoserver . 自己去官方下载一个安装包 第二 ...
- 使用GeoServer+QGIS发布WMTS服务 | Publishing WMTS Service Using GeoServer+QGIS
Web GIS系列: 1.搭建简易Web GIS网站:使用GeoServer+PostgreSQL+PostGIS+OpenLayers3 2.使用GeoServer+QGIS发布WMTS服务 3.使 ...
随机推荐
- css的其他相关样式属性
一.颜色 1.预定义的表示颜色的单词 red,black.gray,pink...... 2.16进制表示 # + 6位16进制的数字0 1 2 3 4 5 6 7 8 9 a b c d e f 如 ...
- str_replace函数的使用规则和案例详解
str_replace函数的使用规则和案例详解 str_replace函数的简单调用: <?php $str = '苹果很好吃.'; //请将变量$str中的苹果替换成香蕉 $strg = st ...
- Django项目:CRM(客户关系管理系统)--81--71PerfectCRM实现CRM项目首页
{#portal.html#} {## ————————46PerfectCRM实现登陆后页面才能访问————————#} {#{% extends 'king_admin/table_index.h ...
- Django项目:CRM(客户关系管理系统)--71--61PerfectCRM实现CRM学生上传作业
# student_urls.py # ————————60PerfectCRM实现CRM学生上课记录———————— from django.conf.urls import url from bp ...
- linux负载均衡(什么是负载均衡)
linux负载均衡(什么是负载均衡) 一.总结 一句话总结: 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽.增加吞吐量.加强网络数据处理能力.提高网络的灵活性和可用 ...
- hibernate 一对一注解
bi如 用户的阅读历史和文章表是单向一对一关系, 阅读历史中通过deviceId外键关联文章表的主键 然后,再从getter setter上进行注解 @OneToOne(cascade = Casca ...
- 【DM642学习笔记九】XDS560仿真器 Can't Initialize Target CPU
以前用的瑞泰的ICETEK-5100USB仿真器,现在换成XDS560试了试,速度快多了.把720*576的图片在imgae中显示也只需要四五秒钟.而5100仿真器需要三四分钟. 仿真器驱动安好后,刚 ...
- Python移动自动化测试面试
Python移动自动化测试面试 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频的感受,单论单个知识点课程本身没问题,大家看的时候可以关 ...
- JasperReports报表数据源10
数据源的结构数据容器.同时生成报告,Jasper报表引擎获得来自数据源的数据.数据可以从数据库,XML文件,对象数组和集合中的对象来获得.我们将在本章填充报告所看到的fillReportXXX()方法 ...
- Leetcode441Arranging Coins排列硬币
你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币. 给定一个数字 n,找出可形成完整阶梯行的总行数. n 是一个非负整数,并且在32位有符号整型的范围内. 示例 ...