geoServer + tomcat + .shp + jdk 搭建离线地图服务

对应版本和化境变量

系统windows10家庭版

jdk 1.8.0_192 官网 安装及环境变量添加,网上教程很多,不在赘述

tomcat 8.5.50 官网

geoserver  2.16.1 GeoServer 是 OpenGIS Web 服务器规范的 J2EE 实现,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过 GeoServer 可以比较容易的在用户之间迅速共享空间地理信息 由于Geoserver依赖于 jdk 环境和 tomcat 环境,所以需要先安装 jdktomcat

.shp提供数据,说一下几种相关的数据格式的含义

文件名 含义 必要性
shp 存储矢量数据的空间信息 必须
shx 要素几何特征的索引文件 必须
dbf 存储适量数据的属性信息 必须
sbn/sbx 存储要素空间索引的文件
fbn/fbx 存储只读形状文件的功能的空间索引文件
ain/aih 存储表或主题属性表中活动字段的属性索引的文件
atx 为ArcCatalog中创建的每个shapefile或dBASE属性索引创建.atx文件
ixs 读写shapefile的地理编码索引
mxs 读写shapefile的地理编码索引(ODB)格式
prj 存储坐标系信息的文件,由ArcGIS使用
xml ArcGIS的元数据-存储有关的shapefile的信息

地图由图层创建,图层大致分类点线面三类

查看jdk是否安装成功

win+R 输入 cmd进入命令终端输入 java -version 点击回车出现对应版本号说明 jdk 安装和环境变量配置成功

查看tomcat环境变量和简单配置

简单说一下tomcat文件夹的作用

/bin                存放启动和关闭tomcat的脚本文件

/conf              存放Tomcat服务器的各种配置文件,其中包括server.xml(Tomcat的主要配置文件)、tomcat-user.xml和web.xml等配置文件

/lib                 存放tomcat与web应用的Jar包

/logs               存放Tomcat的日志文件

/temp             存放Tomcat运行时候产生的临时文件

/webapps        当发布Web应用程序的时候,通常把Web应用程序的目录以及文件放到这个目录下

/work              Tomcat将JSP产生的Servlet源文件和字节码存放在这个文件目录下

环境变量添加

这里的变量值就是tomcat解压的文件夹路径

新建 CATALINA_BASE,变量值:D:myCodeapacheTomcat

新建 CATALINA_HOME,变量值:D:myCodeapacheTomcat

编辑 PATH,添加变量值:%CATALINA_HOME%lib;%CATALINA_HOME%bin;

查看

找到tomcat配置目录找到bin目录下的startup.bat点击运行,路径如下,

D:myCodeapacheTomcatbinstartup.bat

在浏览器中输入 http://localhost:8080/ 出现如下图页面则表示 tomcat 服务配置成功

端口配置

tomcat默认端口为8080如果出现冲突可在 tomcat-->conf-->servar.html 文件中的 port="8080" 修改为 port="8081" 修改后再次重启访问即可

tomcat服务启动出现乱码

找到 tomcat-->conf-->logging.properties 如果开始时UTF-8 就把这一行删除或者改为GBK,系统是默认是支持GBK的, 所以tomcat升级之后使用了UTF-8 和控制台不一致导致乱码,修改的后重启tomcat服务即可

如果需要优化连接池配置和优化连接参数以及将tomcat注册为服务,自行百度配置,此处只是简单配置不做详细讲解

GeoServer 安装部署

方案一、下载安装包直接进行下一步,下一步,下一步选择对应的依赖即可完成,不在详细描述,着重看第二个方案

方案二、下载zip源代码解压包,直接部署到tomcat里面运行geosever

geoServer部署访问

众所周知tomcat是支持war包部署的,将下载的zip文件解压,把 geoserver.war 包拿出来扔到 comcat --> webapps 下,启动tomcat服务即可,由于我前面把tomcat端口修改为8081,访问时在浏览器输入`

http://127.0.0.1 :8081/geoserver/web/ 看到如下图界面则表示geoserver部署成功,然后使用geoserve服务默认的账号密码进行登陆,默认账号 admin 密码 geoserver`

geoServer默认账号密码修改

在左侧导航中找到图中1的菜单项点击,然后点击图片中的2,最后点击账号进入新的页面

将旧密码删除,设定为自己的密码,点击最下面的保存,即可

geoServer新建工作区

点击 工作区 ,点击 添加新的工作区 填写工作区名称,命名空间url地址,这个地址在地图发布后可以调用不同的图层,一定要填写

geoServer 新建数据源

这里涉及到的数据下载会在文章最后声明

数据下载后解压将其放到 tomcat --> webapps --> geoserver --> data

选择 数据存储 点击 添加新的数据存储 选择s矢量数据源下的Shapefile(.shp)格式

选择工作区,填入数据源名称,选择好字符编码,字符编码应当根据数据源来定,选择对应的 .shp 格式文件,然后保存

geoServer图层发布和图层编辑

新建数据存储保存后,出现如下图页面,点击发布

发布后进行图层编辑,在下面找到 定义SRS 点击查找在弹框中输入 4326 回车选中,然后在边框中选择 从数据中计算Compute from native bounds 最后点击保存

geoServer图层预览

点击 Layer Preview 找到刚才保存的图层点击 OpenLayers

在浏览器出现如图表示一个简单的离线地图已经发布完成,如果需要发布多个图层,重复如上步骤即可

geoServer图层样式

想要像一个真正的地图一样我们需要添加一些样式,当你上传的样式文件比较多时,在关联操作时将带来很大的不便,尤其当你的一个geoserver服务器中,有多达几十个图层的。因此,建议样式和图层一一对应。这样方便维护。点击 Style 再点击 Add a new style ,然后填写 名称 选择对应的 工作区 这里我们选择 复制 一个官方的样式,稍微修改,修改后点击 Validate 按钮进行校验,最后提交样式设置完成

图层组的创建

众所周知,一个完整的地图服务是有很多单个图层组成的,在geoserver中,我们通过使用图层组这一功能,把单个图层组合起来,一起发布,作为一个完整的地图服务。我们在图层组中进行图层叠加和样式绑定。点击图层组 添加新图层组 添加 名称标题 填写数据地图中的边界,添加图层选择对应的图层样式,点击保存

图层组的预览也是在 Layer Preview 中,找到刚才我们添加图层组点击 OpenLayers 预览会发现地图样式改变了

至此就是geoServer离线地图服务器搭建的全部过程,服务搭建数据来源于网络,仅供交流学习,商用请自行进行商业授权,如有不足之处欢迎指正,谢谢。

数据下载: shp数据下载

我来评几句
登录后评论

已发表评论数()

相关站点

热门文章