给图层添加高度数据,需要根据实体几何类型分别处理。对于面,例如行政区界或建筑物,需要创建一个高度模板文件。

对于线(点),例如架空电缆,高程将直接从图形数据中读取。

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+with+Building+Data,

发布纽约曼哈顿的建筑物,浏览三维城市效果。

效果图2

发布三维线图层:

三维线不使用height.ftl文件,因为一条线有两个以上的节点,每个节点可能有不同的高度值,高程直接存放在图形数据(Geometry)的Z坐标中。

Oracle Spatial、PostgreSQL(PostGIS)等数据库都支持存储三维坐标。

Geoserver可以直接发布三维线,测试中使用Oracle Spatial(10g)和PostgreSQL(8.3)作为数据源。

1、在Oracle Spatial(10g)或PostgreSQL(8.3)中存入包含Z坐标的三维线数据,作为测试,可用直接SQL语句插入数据。

2、在Geoserver中发布该图层。

3、进入Geoserver地图预览页面,找到刚才发布的图层,选择KML,打开Google Earth浏览效果。

需要注意的是,默认KML(KMZ)在Google Earth中的实际效果是三维面。

经过查阅KML文档,要实现三维线,需要在KML链接后加上可选参数format_options=extrude:0,例如将

http://192.98.151.200:8080/geoserver/wms/kml?layers=topp:TESTL

改为

http://192.98.151.200:8080/geoserver/wms/kml?layers=topp:TESTL&format_options=extrude:0

效果图3

Google KML Version 2.2已经获得OGC批准,成为国际标准的数据存储格式。ESRI、INTERGRAPH、MAPINFO在其最新版本软件中提供KML格式输出支持。

Google定义的KML不仅可以包含三维高程数据,还能加入四维时间数据。

本文只涉及三维数据的发布和展示,相关技术文档请参考Google KML和Geoserver KML页面。

Google KML页面:http://code.google.com/apis/kml/documentation/

Geoserver KML页面:http://geoserver.org/display/GEOSDOC/KML+KMZ+Output http://geoserver.org/display/GEOSDOC/Google+Earth+Features

本文涉及的软件环境为:Geoserver 1.7.7、Geoserver 2.0、Google Earth 5.1、Oracle 10.2.0.3、PostgreSQL 8.3.7

geoserver三维_使用Geoserver和Google Earth打造三维GIS展示系统相关推荐

  1. 谷歌earth下载_如何:使用Google Earth和SketchItUp可视化新房-第2部分

    谷歌earth下载 A while back I posted on How To: Use Google Earth or Virtual Earth to Visualize a New Hous ...

  2. [进阶]往Google Earth里导入现有数据

    转自:http://www.godeyes.cn/html/2008/08/23/google_earth_56.html 用 Google Earth 的导入功能可以将用户自定义的地理数据导入到 G ...

  3. geoserver三维_集团公司自主研发三维GIS平台产品——GeniusWorld 2.0 C版本发布

    正元三维GIS平台产品(GeniusWorld)是公司独立自主开发的软件产品,提供地上地下全空间一体化的三维地理信息服务完整解决方案,可根据用户需求实现个性化定制.2019年6月30日全新研发的三维G ...

  4. 三维地图之Google earth安装使用

    整理一些三维地图相关的技术,目前来看,三维地图都是用于展示的,其他的交互和更深层次的分析利用几乎没有. 毕竟Google Earth面世这么多年了,除了能看,好像也没有什么其他的用处. 一.什么是Go ...

  5. 基于google earth 高程数据三维地形建模

    最近看了看三维图形图像方面的一些资料,以及一些三维地形建模的文章.做了一个三维地形建模的程序.三维地形的应用范围比较广,可以做地质测量,仿真,军事上可以建立三维地形模型,做一些军事演习仿真之类的. 程 ...

  6. 谷歌地图kml能透明吗_谷歌卫星地图-[入门]关于KML的一些说明 - Google Earth教程

    KML( 或 Keyhole Markup LanguaGoogle Earth , Keyhole 标记语言 ) 是一种 XML 语法格式的语言,可用于保存诸如点.线.图像.多边形或 3D 模型等特 ...

  7. cad如何生成kml文件_将CAD对象导入google earth的简单方法:cad2kml

    到网上找一个名叫"cad2kml"的软件,现在的最新版本是2.9.解压后将主程序copy到C:\Program Files\Autodesk\AutoCAD 2014\Suppor ...

  8. 3D大脑图谱-Julich-Brain被称作“Google Earth of the brain”

    Julich-Brain 是人类大脑的第一个3-D 图谱的名称,它以微观分辨率反映了大脑结构的可变性.该图谱具有近 250 个结构不同的区域,每个区域都基于对 10 个大脑的分析.超过24,000 个 ...

  9. Google Earth 和MS Virtual Earth:虚拟地球简介

    自从Goal在98年提出数字地球(Digital Earth)之后,全球掀起了数字地球热,而随着Goal的竞选总统的失利和当时科学技术和硬件水平的限制,数字地球一直处于慢慢发展状态.其中它涉及到很多学 ...

最新文章

  1. 机器学习四剑客4——PIL
  2. 树状数组(Binary Indexed Tree) 总结
  3. HIGHGUI ERROR: V4L2: Pixel format of incoming image is unsupported by OpenCV
  4. 柱形图无数据可选中_这种漂亮的“连体”柱形图,99%的人不会做!
  5. php5.3中ZendGuardLoader与wincache冲突问题的解决方法
  6. bootsect.s文件阅读问题集
  7. 深度网络pre-train对于深度网络的意义
  8. Q8 凯立德 J07 升级方法
  9. 模式识别--绪论 什么是模式识别?模式识别的主要方法及具体应用
  10. 亲自用鸿蒙跑了个“hello world”!跑通后,我特么开始怀疑人生....
  11. UHL IOL NVMe测试工具安装及使用的常见问题
  12. 机房收费系统(二)之下机退卡
  13. android监控app被杀死,Android App前后台监控
  14. [Linux]搭建Anki同步服务器(针对Anki2.0)
  15. SQL SERVER中的OLEDB等待事件
  16. 纳米金颗粒修饰核酸产品|碳纳米管载核酸-DNA/RNA材料|解析说明
  17. VS2013 编译错误类型: 必须定义入口点
  18. 云平台设计思路——表单篇
  19. 电脑计算机里怎么找恢复出厂设置,Windows系统电脑如何恢复出厂设置?
  20. DE0-Nano-SoC开发板诡异的电源电路方案设计分析

热门文章

  1. Android:视图绘制(六) ------Paint进阶之ColorMatrix(一)
  2. 密码必须为6-12位数字和字母组合正则
  3. 用GoldWave自制特定时间间隔的声波
  4. image标签设置宽度导致图片被压缩变形
  5. 有梦想就去追,程序员辞职组乐队被老板资助
  6. android4.1动态壁纸,安卓动态壁纸 for Android v4.1.5 免费版下载
  7. python定义一个人类_python基础课程 第9章 面向对象编程(上) 一场人类进化史
  8. 预付费平台关于电改政策的设计与应用
  9. jvisualvm下载
  10. Windows命令及基本操作(查看WiFi密码C/C++实现)