一.Geoserver简介
-
官网:http://geoserver.org/
-
简介:GeoServer是 OpenGIS Web 服务器规范的 J2EE 实现,利用 GeoServer 可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通过 GeoServer 可以比较容易的在用户之间迅速共享空间地理信息
- 其他入门教程
二.Geoserver安装与访问
- 1.环境准备:GeoServer是基于Java的软件,运行的时候需要JDK的支持。在Oracle官网上下载JDK1.8【http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html】
- 2.安装包说明【Stable】:Geoserver安装包有两种,一种是与平台无关的二进制文件,自带容器,下载完之后直接启动jar包,就可以。另一种是GeoServer打包为独立的servlet,可与现有的应用程序服务器【Apache Tomcat或Jetty】一起作用。本文下载的是二进制文件,直接启动jar包的形式
- 3.安装包下载:
- 4.解压启动
- 5.访问:
- 【1】默认端口是8080,可以在start.ini中改动
- 【2】访问路径:localhost:8080/geoserver/web/
- 【3】默认用户名/密码:admin/geoserver
三.Geoserver发布服务
- geoserver发布服务的时候,如果需要在图层上加载属性信息,需要加载.SLD样式文件,这个文件可以通过ArcMap导出,也可以通过uDig桌面软件导出,推介使用uDig导出,下面表格中“加载.sld”博客中,是使用ArcMap2SLD软件和ArcGis软件配合导出,到后将.sld文件加载到geoserver中,但是鄙人按照操作导出的线路.sld文件,加载到geoserver中时无法看到属性信息,如线路名,最后使用uDig软件导出了一份线路.sld文件
四.uDig导出.sld文件
- uDig是一款开源桌面GIS软件,基于Java和Eclipse平台,可以进行shp格式地图文件的编辑和查看。uDig如果下载比较慢的话,可以复制下载链接到迅雷中下载,速度很快
五.Cesium调用Geoserver地图服务与删除图层
5.1 Cesium调用geoserver
//声明一个对象保存图层,方便删除
map.geoServerLayers = {};
//geoserver服务调用
_.prototype.addGeoserver = function(){
var tmpProvider = new Cesium.WebMapServiceImageryProvider({
url: "http://172.16.32.55:8080/geoserver/chinaProvince/wms",
layers: "chinaProvince:quanguo_shengji_hantaiwan",
parameters: {
service : 'WMS',
format: 'image/png',
transparent: true,
version: "1.1.1",
srs: "EPSG:4326"
}
});
map.geoServerLayers[layersName] = viewer.imageryLayers.addImageryProvider(tmpProvider);
}
#####5.2 cesium删除图层
_.prototype.removeGeoserverLayerByName = function(layerName){
if(!layerName){
console.log("图层名为空,图层删除失败");
return;
}
var isEmpty = $.isEmptyObject(map.geoServerLayers);
if(!isEmpty){
for(var layer in map.geoServerLayers){
if(layer == layerName){
viewer.imageryLayers.remove(map.geoServerLayers[layer]);
}
}
}
}
//清空geoserver提供的所有图层
_.prototype.removeGeoserverAllLayer = function(){
var isEmpty = $.isEmptyObject(map.geoServerLayers);
if(!isEmpty){
for(var layer in map.geoServerLayers){
viewer.imageryLayers.remove(map.geoServerLayers[layer]);
}
}
}