Geoserver服务器添加.shp类型地图
目录
这里以中国地图为例。
1 相关软件
主要有:地图服务Geoserver、地图展示Openlayers、地图编辑μDig、地图参考ArcGIS之ArcMap、地图获取MapInfo。
Openlayers可以采用Geoserver自带的版本。
2 原始图层提取
2.1 .tab图层转换为.shp图层—MapInfo
通过MapInfo及其转换工具,由原始的.wor地图得到最初的.mxd地图,即.shp图层集:打开MapInfo及其相应的地图,使用“工具”菜单中的“通用工具”,逐一将地图集中各个.tab图层转换为.shp图层,如下图所示。
2.2.shp图层类型参数调整—ArcGIS-ArcMap
用ArcMap打开.shp图层集的.wor文件,观察地图效果,特别是各个图层的样式设置[图层的属性页],主要项有:显示符号大小及其颜色[符号系统标签页及其符号编辑器]、文字指示及其大小[标注标签页]、显示比例范围[常规标签页],如下图示。
2.3 .shp图层及其样式编辑—μDig
打开μDig,添加图层—上面得到的.shp图层集。三类基本图层:点、线、面。
打开的shp格式地图数据文件后,通过uDig的图层面板就可以查看当所选择的shp地图数据文件中所包含的地图图层信息,当选中某个图层后就可以通过Table面板查看到该图层所对应的一些详细数据信息。
针对某一图层,改变其样式—Change Style打开样式编辑器,选择合适的图示符号,参考上述项目,编辑其大小及其显示比例[General标签页]、边框与填充颜色[Border/Fill标签页]、文字指示[Labels标签页],察看对应的XML源码,如下图所示。
得到的XML源码就是下面要用到的较为合适的图层sld类型文件原型。
四色地图:Change Style,选择Theme,然后选择条件字段,再选择主题。
3 地图服务添加–Geoserver及其Openlayers
工作区workspaces—样式styles—数据存贮stores—图层layers—图层集layergroups。
工作区容纳所有相关样式、数据存贮、图层及其图层集。
一一对应:样式style—数据存贮store—图层layer。
各个图层构成图层集。
3.0
部署地图数据
在GeoServer2.5.1\data_dir\data下建立具体的地图数据目录—china2012,将所有地图图层数据文件放其下。
3.1
添加新工作区
添加新工作区—chinaMap,容纳所有相关样式、数据存贮、图层及其图层集,如下图示。
3.2
设置定义样式
GeoServer界面,点击Styles,进入新页面后,再点击Addnew style,打开新页面,进行样式命名—ptfBuilding和工作区选择–chinaMap,将μDig下得到的图层样式XML代码拷贝到代码区,验证validate并通过后提交submit,如下图示。
也可以直接导入.sld格式的styles文件。
注意:由μDig下得到的图层样式XML代码,常常验证不通过,替换掉较新格式的前两行即可,替换后的内容如下:
<?xmlversion=”1.0″ encoding=”GB2312″?>
<sld:StyledLayerDescriptorxmlns=”http://www.opengis.net/sld”
xmlns:sld=”http://www.opengis.net/sld”
xmlns:ogc=”http://www.opengis.net/ogc”
xmlns:gml=”http://www.opengis.net/gml”version=”1.0.0″>
替换前的内容如下:
<?xml version=”1.0″encoding=”UTF-8″?>
<sld:StyledLayerDescriptor xmlns=”http://www.opengis.net/sld”xmlns:sld=”http://www.opengis.net/sld”xmlns:ogc=”http://www.opengis.net/ogc”xmlns:gml=”http://www.opengis.net/gml” version=”1.0.0″>
点样式的文字指示位置可稍作调整,如下:
<sld:AnchorPoint>
<sld:AnchorPointX>0.0</sld:AnchorPointX>
<sld:AnchorPointY>-0.5</sld:AnchorPointY>
</sld:AnchorPoint>
<sld:Displacement>
<sld:DisplacementX>0.0</sld:DisplacementX>
<sld:DisplacementY>-0.5</sld:DisplacementY>
</sld:Displacement>
文后附有常用的点样式中英文显示代码形式和特殊的铁路线样式代码。铁路线样式就是三条线叠加:首线较粗,后两条稍细,最后的一条是点划线。
3.3
添加存贮及其图层
GeoServer界面,点击Stores,进入新页面后,再点击Addnew Store,选择.shp格式数据源–shapefile-ESRI™shapefiles(*.shp),打开新页面,设置地图名称、路径等信息并保存,如下图示.
注意,地图文件路径与文件名称必须是英文或者拼音,不能含有中文,否则地图无法显示。
保存Save后,点击新图层选择NewLayer chooser界面中的发布publish,打开新图层建立界面,进行数据和发布标签页面的相关设置,如下图示。
数据标签页面的主要设置项:定义SRS–EPSG:4326。点击“从数据中计算”自动计算并显示NativeBounding Box边框数据,点击“Computefrom native bounds” 自动计算并显示Lat/Lon Bounding Box边框数据。
数据标签页面的主要设置项:选择缺省样式DefaultStyle—ptfBuilding。
3.4
图层效果浏览
保存save后,点左面菜单中的LayerPreview,在打开的页面中找到刚刚添加的图层,点击OpenLayers浏览图层效果,如下图示。
3.5
设置图层组
同理将所有图层逐一添加到服务器中,点击左侧菜单中的LayerGroups,进入新页面后,再点击点击Addnew layer group,打开新页面,设置图层组的名称—chinaMap,点击提交Submit后,弹出LayerGroup页面,点击AddLayer,逐一添加上面已经添加成功的各个图层,添加完图层,在坐标参考系输入框中输入EPSG:4326,点击生成边界Generate
Bounds按钮设置Min X/MinY/MaxX/MaxY,最后点击Save,如下图示。
3.6
图层组效果浏览
进入预览界面,找到刚刚添加的组,点击OpenLayers 预览,效果如下图。
3.7
文件结构框架
生成的文件结构框架如下图所示。图形库放在GeoServer2.5.1\data_dir\data\china2012下,产生的地图服务体系在GeoServer2.5.1\data_dir\workspaces\chinaMap下,其中styles子目录是图层样式文件,layergroups是图层组文件,其余是各个图层文件。
转载自:https://blog.csdn.net/kaizqn/article/details/34140081