需求:geoserver的rest服务类型的矢量数据通过mars3d的引擎直接渲染上图
学习过程:
1.通过全局查询示例的map.js文件,可以看到示例调用的rest服务类型,发现很多wfs接口的数据直接上图渲染矢量数据以及query接口下面调用这个服务的示例。
2.由此推断出mars3d是支持rest服务类型的,此时去查询mars3d的开发教程,关于矢量数据的说明,可以看到以下说明:
平台支持 通过WfsLayer类 (opens new window)来加载OGC WFS(如GeoServer)服务 、通过ArcGisWfsLayer类 (opens new window)来加载ArcGIS Server 服务发布的矢量数据的加载。
//OGC WFS
var wfsLayer = new mars3d.layer.WfsLayer({
name: '合肥教育点',
url: 'http://server.mars3d.cn/geoserver/mars/wfs',
layer: 'mars:hfjy',
parameters: {
maxFeatures: 500, //支持所有wfs的参数
},
minimumLevel: 13,
debuggerTileInfo: false,
symbol: {//可以通过配置symbol参数来指定渲染的矢量数据类型和样式。
type: 'billboardP',
styleOptions: {
image: 'img/marker/mark1.jpg',
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
clampToGround: true,
},
},
popup: 'all',
})
map.addLayer(wfsLayer)
//ArcGIS WFS
var wfsLayer = new mars3d.layer.ArcGisWfsLayer({
name: '兴趣点',
url: 'http://server.mars3d.cn/arcgis/rest/services/mars/hefei/MapServer/1',
minimumLevel: 16,
symbol: {//可以通过配置symbol参数来指定渲染的矢量数据类型和样式。
type: 'billboardP',
styleOptions: {
image: 'img/marker/mark3.jpg',
verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
clampToGround: true,
},
},
popup: '名称:{NAME}<br />地址:{address}',
show: true,
})
map.addLayer(wfsLayer)
此时,可以实现rest类型渲染上图。
学习开发教程过程中,可以看到很清楚的说明了矢量数据图层的创建及使用,除了wfs接口,还有wms的接口调用。
补充说明以下mars3d支持的图层标准:通用的标准服务我们均是支持的。