给图层添加高度数据,需要根据实体几何类型分别处理。对于面,例如行政区界或建筑物,需要创建一个高度模板文件。
对于线(点),例如架空电缆,高程将直接从图形数据中读取。
GeoServer 1.7.1及以上版本支持输出三维面的KML(KMZ),1.7.6及以上版本支持输出三维线(点)的KML(KMZ)。
发布三维面图层:
用Geoserver发布三维面的过程非常简单,测试中我们使用Geoserver自带的示例图层topp:states。
1、用记事本新建一个文本文件(高度模板文件),命名为height.ftl。
2、在文件中加入一行脚本,格式为${ATTRIBUTE.value},ATTRIBUTE是属性字段的名称。
例如states图层有属性字段PERSONS,记录每个州的人口,输入${PERSONS.value?number/100},把高度和人口数建立关系。
3、将height.ftl复制到Geoserver的/data/featureTypes/states/目录下。
4、进入Geoserver地图预览页面,找到topp:states,选择KML,打开Google Earth浏览效果。
效果图1
官方原文见:http://geoserver.org/display/GEOSDOC/04-Height+Templates
作为练习,可以根据官方文档
http://demo.opengeo.org:8080/display/GEOSDOC/05-Super+Overlays+and+Extrudes