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安装和环境变量配置成功
image.png

查看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服务配置成功
Image [1].png

端口配置

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

tomcat服务启动出现乱码

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

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

GeoServer 安装部署

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

Image [4].png

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

Image [5].png

geoServer部署访问

众所周知tomcat是支持war包部署的,将下载的zip文件解压,把geoserver.war包拿出来扔到comcat --> webapps下,启动tomcat服务即可,由于我前面把tomcat端口修改为8081,访问时在浏览器输入`
http://127.0.0.1:8081/geoserver/web/看到如下图界面则表示geoserver部署成功,然后使用geoserve服务默认的账号密码进行登陆,默认账号admin密码geoserver`
Image [6].png

geoServer默认账号密码修改

在左侧导航中找到图中1的菜单项点击,然后点击图片中的2,最后点击账号进入新的页面
Image [7].png
将旧密码删除,设定为自己的密码,点击最下面的保存,即可
Image [8].png

geoServer新建工作区

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

geoServer 新建数据源

这里涉及到的数据下载会在文章最后声明
数据下载后解压将其放到tomcat --> webapps --> geoserver --> data

选择数据存储点击添加新的数据存储选择s矢量数据源下的Shapefile(.shp)格式
Image [10].png
选择工作区,填入数据源名称,选择好字符编码,字符编码应当根据数据源来定,选择对应的.shp格式文件,然后保存
Image [11].png

geoServer图层发布和图层编辑

新建数据存储保存后,出现如下图页面,点击发布
Image [12].png
发布后进行图层编辑,在下面找到定义SRS点击查找在弹框中输入4326回车选中,然后在边框中选择从数据中计算Compute from native bounds最后点击保存
Image [13].png
Image [14].png

geoServer图层预览

点击Layer Preview找到刚才保存的图层点击OpenLayers
Image [15].png
在浏览器出现如图表示一个简单的离线地图已经发布完成,如果需要发布多个图层,重复如上步骤即可
Image [16].png

geoServer图层样式

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

图层组的创建

众所周知,一个完整的地图服务是有很多单个图层组成的,在geoserver中,我们通过使用图层组这一功能,把单个图层组合起来,一起发布,作为一个完整的地图服务。我们在图层组中进行图层叠加和样式绑定。点击图层组添加新图层组添加名称标题填写数据地图中的边界,添加图层选择对应的图层样式,点击保存
Image [18].png
Image [19].png
图层组的预览也是在Layer Preview中,找到刚才我们添加图层组点击OpenLayers预览会发现地图样式改变了
Image [20].png
至此就是geoServer离线地图服务器搭建的全部过程,服务搭建数据来源于网络,仅供交流学习,商用请自行进行商业授权,如有不足之处欢迎指正,谢谢。
数据下载:shp数据下载

阅读 546

推荐阅读