最近因为项目原因,要深入了解基于PostGIS+GeoServer+OpenLayers的WebGis应用组合,顺手把一些经验心得写下来,以备参考!
1:安装:
PostGIS的安装:必须先安装PostgreSQL,在通过菜单中的“Application Stack Builder”来在线安装PostGis,也可以离线下载安装,但没试过!
PostGIS安装后,最好不要用默认的postgis库,而是以它为模板创建一个新的库,这样灵活一些。
Geoserver的安装:下载war包,直接扔Tomcat的webapp目录下就可以用了,也可以解压配置部署。
2:数据导入:
可以直接使用shp格式的文件(ArcGIS的格式),使用如下命令行:
<textarea cols="50" rows="15" name="code" class="c-sharp">shp2pgsql -W"GBK" D:/TMP/area_region.shp regionTable >c:/region.sql</textarea>
上面命令中,-W表示采用指定的编码,对于包含中文的shp文件来说,如果不指定的话,可能会出现问题,“regionTable”表示导入到库中的表名,region.sql表示转换后的SQL。
接下来,就可以用上面生成的sql文件来创建表了,命令如下:
<textarea cols="50" rows="15" name="code" class="c-sharp">psql -U postgres -f c:/region.sql mydb</textarea>
上面命令中,“-U”表示指定用户为postgres mydb表示导入到mydb这个库中。
另外,PostGis也提供了一个小工具来可视化导入shp文件,但试用感觉bug还挺多,不是很稳定!
如果对shp的格式需要调整的话,可以采用uDig对shp文件先进行编辑,并利用它来导出数据对应的sld文件。
3、配置图层:
PostGIS的数据导入后,就可以在GeoServer中按如下顺序配置它了,具体顺序如下:
* 名字空间(Workspaces)
* 存储(Stores)
* 图层(Layers)
* 图层组(Layer Groups,如果需要叠加显示的话)
* 风格样式(Styles,可以将从uDig中导出的sld文件在这里导入,并配置到对应的图层中应用) 。
4、比较常用的地理坐标系为:EPSG:2908 、EPSG:4326