GoogleEarth二次开发(资料一)
- 格式:docx
- 大小:25.44 KB
- 文档页数:6
C#调用GoogleEarth COM API开发一、准备Google Earth提供了个人免费版、Plus版、Pro版,个人开发只安装个人免费版就可以了,如果需要更多的功能,那么只有每年上交$400购买专业版了到目前为止,GoogleEarth的二次开发接口还比较少,功能太弱,仅仅提供了1.0的类库。
GoogleEarth COM API参考文档可以在这里找到:/index.htmlC#调用COM的参考资料多如牛毛,大家可以到网上搜一下二、例子这里提供一个利用VS2008 + Google Earth 5.0开发一个“Hello world”程序首先,确保已经正确安装GE,打开VS2008 ,新建一个Windows应用程序项目,在“项目”菜单中选择“添加引用…”,切换到“COM”选项卡,选择“Google Earth 1.0 Type Library”,其实就是Google Earth的主程序在项目的引用中你可以看到已经添加了一个EARTHLib的引用,然后我们就可以调用其中的接口进行开发了。
下面就是小例子的代码(功能很简单,只有三个,打开GE,然后让GE保存一张截图,然后可以打开这个截图看看。
呵呵)1://功能:GE实例2://描述:GE COM API网址:/index.html3://作者:温伟鹏4://日期:2008-01-205:6:using System;7:using;8:using ponentModel;9:using System.Data;10:using System.Drawing;11:using System.Text;12:using;13:using EARTHLib;14:using;15:using System.IO;16:using System.Diagnostics;17:18:namespace GEDemo19:{20:public partial class Form1:Form21:{22:///<summary>23:///标记GE是否已经启动24:///</summary>25:private bool isGeStarted=false;26:///<summary>27:///定义GE应用程序类28:///</summary>29:private ApplicationGEClass GeApp;30:31:public Form1()32:{33:InitializeComponent();34:}35:36:private void button1_Click(object sender,EventArgs e) 37:{38:StartGE();39:}40:41:///<summary>42:///启动GE43:///</summary>44:private void StartGE()45:{46:if(isGeStarted)47:{48:return;49:}50:51:try52:{53:GeApp= (ApplicationGEClass)Marshal.GetActiveObject("GoogleEarth.Application");54:55:isGeStarted=true;56:}57:catch58:{59:GeApp=new ApplicationGEClass();60:61:isGeStarted=true;62:}63:}64:65:private void button2_Click(object sender,EventArgs e)66:{67:string ssFile=bine(Application.StartupPath, "ScreenShot.jpg");68:69:try70:{71://quality的取值范围在(0,100)之间,质量越高,quality越大72:GeApp.SaveScreenShot(ssFile,100);73:74:MessageBox.Show("成功保存截屏图像:"+ssFile);75:}76:catch(Exception ex)77:{78:MessageBox.Show("保存截屏图像时发生错误:"+ ex.Message);79:}80:}81:82:private void button3_Click(object sender,EventArgs e)83:{84:string ssFile=bine(Application.StartupPath, "ScreenShot.jpg");85:86:if(!File.Exists(ssFile))87:{88:MessageBox.Show("未能找到保存的截屏图像!");89:return;90:}91:92:Process.Start(ssFile);93:}94:95:private void button4_Click(object sender,EventArgs e)96:{97:this.Close();98:Application.Exit();99:}100:101:}102:}继《C#调用GoogleEarth Com API开发(一)》,我Neil又带给大家第二篇文章。
阐述数字高程模型的高程提取方法1 概述数字高程模型(Digital Elevation Model),简称DEM。
它是用一组有序数值阵列形式表示地面高程的一种实体地面模型,是数字地形模型(Digital Terrain Model,简称DTM)的一个分支,其他各种地形特征值均可由此派生。
由于DEM 描述的是地面高程信息,它在测绘、水文、气象、地貌、地质、土壤、工程建设、通讯、气象、军事等国民经济和国防建设以及人文和自然科学领域有着广泛的应用。
随着测绘技术的发展,人们获取DEM的手段进行不断的革新。
近年,随着以航天技术、传感器技术、计算机技术为代表的对地观测技术得到了飞速的发展,关于地形数据获取的研究也进入了一个新的阶段。
充分利用现在高科技手段获取的DEM数据,减少重复工作,是一个值得研究的方向。
GE共享了受许可的航空图片、卫星图片及经纬度高程信息,数据涵盖全球。
GE可查看全球每个角落的经纬度、高程、卫星影像等各种信息。
软件更是提供了二次开发的接口Google Earth COM API,可以对其进行简单的控制和信息的获取。
本文基于Google Earth COM API进行二次开发,实现了高程信息的提取,并简单介绍解决高程提取次数限制问题。
2 Google Earth简介及开发接口介绍2.1 软件简介GE是一款Google公司开发的虚拟地球仪软件,它把卫星照片、航空照相和GIS布置在一个地球的三维模型上。
软件功能强大,操作界面简单直观,而且其提供的地理信息完全免费。
GE可从球面到平面、从平面到立面进行多模式、多角度显示;可任意旋转、放大、缩小、漫游,可快捷地查询、导航、定位;既可宏观,也可以极致微观地对地球进行观察和研究;以图像方式直观显示各地区的真实地貌。
2.2 Google Earth的二次开发GE开发了对其进行二次开发的API,将GE的功能以COM组件形式,以一种支持COM开发环境的编程语言来构建具体的应用系统。
基于 Google Earth 的高速公路桩基施工可视化管理系统韦伟;任高峰;侯立波;胡仲春【摘要】In view of the problem that highway has obvious geographical characteristics,and its pile foundation con-struction is of great uncertainty and high risks,using SQL server 2008 for database design and storage,a Visual Con-struction Management System for Pile Foundation of Highway Based on Google Earth has been developed by using C# on Visual Studio 2010.Then the Management System is used in the pile foundation construction management of the 14th section in Jiang-luo Highway.The visual,digital and informationalized management of construction quality,con-struction schedule and construction safety for pile foundation have come true.So it can enhance the level of information management of the construction enterprise.%针对高速公路具有明显的地理特征,其桥梁桩基施工存在较大不确定性和较高风险的问题,使用 SQL server 2008数据库进行数据表设计和存储,在 Visual Studio 2010平台上采用 C#语言开发了“基于Google Earth 的高速公路桩基施工可视化管理系统”。
MAPGIS VirtualEarth 二次开发技术篇目录目录..............................................................................................................................................- 2 -1 概述..............................................................................................................................- 3 -2 开发环境介绍..............................................................................................................-3 -2.1开发环境................................................................................................................- 3 -2.2开发软件---Eclipse................................................................................................- 4 -3 MAPGIS VirtualEarth二次开发技术........................................................................- 14 -3.1 JavaScript脚本语言.............................................................................................- 14 -3.2 Java语言...............................................................................................................- 16 -3.3 HTML语言..........................................................................................................- 18 -3.4 JSP技术................................................................................................................- 19 -3.5 数据库(SQL Server/Oracle)..........................................................................- 20 -3.6 XML语言.............................................................................................................- 21 -1 概述MAPGIS VirtualEarth是中地数码拥有自主产权的一套显示三维地球的软件,它依托MapGIS平台为基础,基于Java applet技术和JOGL技术开发。
十九个国内外主流的三维GIS软件 介绍:Google Earth以三维地球的形式把大量卫星图片、航拍照片和模拟三维图像组织在一起,使用户从不同角度浏览地球。
Google Earth的数据来源于商业遥感卫星影像和航片,包括DigitalGlobe公司的QuickBird,IKOONOS及法国SPOTS。
特点:Google Earth凭借其强大的技术实力和经验,以其操作简单、用户体验超群的优势吸引了全球近十分之一的人口使用。
发展历程:Google于2004年10月收购了Keyhole公司,随之次年6月推出Google Earth系列软件。
产品形式:Google Earth客户端软件提供三个版本:个人免费版、Plus版、Pro版以及企业级解决方案,用于在企业内部部署Google Earth应用。
二重唱·美国国家航空和航天管理局(NASA):World Wind--最强大的开源地理科普软件介绍:World Wind是NASA发布的一个开放源代码的地理科普软件,由NASA Research 开发,NASA Learning Technologies来发展,它是一个可视化地球仪,将NASA、USGS以及其它WMS服务商提供的图像通过一个三维的地球模型展现,还包含了火星和月球的展现。
软件用C#编写,调用微软SQL Server影像库Terrain Server来进行全球地形三维显示。
它通过将遥感影像与SRTM高程(航天飞机雷达拓扑测绘)叠加生成三维地形。
特点:World Wind最大的特性是卫星数据的自动更新能力。
这种能力使得World Wind 具有在世界范围内跟踪近期事件、天气变化、火灾等情况的能力。
拥有NASA血统的World Wind可以利用Landsat 7、SRTM、MODIS、GLOBE , Landmark Set 等多颗卫星的数据,将Landsat卫星的图像和航天飞机雷达遥感数据结合在一起,让用户体验三维地球遨游的感觉。
(完整)我的家乡编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)我的家乡)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)我的家乡的全部内容。
Googl e earth在中学地理教学中的应用—以我的家乡为例李雅楠(山东师范大学人口·资源与环境学院地理科学2班)摘要:文章论证Google earth及其主要功能、运用Google earth实现计算机辅助中学地理教学的可能性,并举出实例说明Google earth在中学地理教学中的应用。
在中学地理教学中应用Google earth辅助教学,对于学生了解Google earth的内涵、基本功能及发展趋势,熟练操作Google earth软件,提高实践动手能力等方面均具有重要的推动作用。
Google earth在中学地理教学中具有重要的作用,并且具有广阔的前景。
关键词:Google earth;中学地理教学;应用前言:当前信息技术的突飞猛进,使教育观念正发生着重大变化。
在中学地理教学中,传统的地理图表、地理图像在调动学生学习的积极性、培养学生动手能力等方面已不能满足科技发展对地理教学提出的要求.传统的“粉笔+黑板”式的教学形式很难直观的讲解知识点,反而让学生觉得枯燥难懂。
在地理教学中妥善运用Google earth软件,可以有效地解决这一问题。
它将独立的知识点有机地结合于地球本身,并且可以形象地操作演练,不仅有利于学生掌握知识点,更可以激发学生学习地理的兴趣。
一、Google earth及其主要功能1 Google earth的内涵Google earth是一款虚拟地球的软件,以三维地球的形式把大量的卫星照片、航拍照片和三维图像组织在一起,实现从全新角度来浏览地球,就像一个立体的地球仪,通过地球缩放视野,大到海陆山川的分布,小到城市街道上的汽车都可以尽收眼底。
地方独立坐标系与WGS-84坐标系转换方法及应用蒋小军;宋占峰;吴清华【摘要】根据n(n≥3)个点的地方独立坐标及对应的WGS-84坐标,结合平面坐标转换模型、布尔莎模型和三维坐标差转换模型,完成了地方独立坐标系与WGS-84坐标系转换参数的计算.基于该转换模型,利用Google Earth COM API、LibKML 等开发接口,完成了AutoCAD数字地形图数据到Google Earth上的三维表示.【期刊名称】《铁道勘察》【年(卷),期】2010(036)004【总页数】4页(P8-10,13)【关键词】地方独立坐标系;WGS-84坐标系;坐标转换;Google Earth【作者】蒋小军;宋占峰;吴清华【作者单位】中南大学土木建筑学院,湖南长沙,410004;中南大学土木建筑学院,湖南长沙,410004;中南大学土木建筑学院,湖南长沙,410004【正文语种】中文【中图分类】U412.31 概述城市道路是城市社会活动、经济活动的纽带和动脉,是城市综合功能的重要组成部分,也是城市建设水平的集中体现。
最近几年,我国的城市化发展突飞猛进,城市基础设施建设力度加大,城市道路的建设迎来了黄金时期,给城市道路的设计工作者既带来了机遇,也提出了更新、更高的要求。
传统的城市道路设计理念或设计流程存在几个方面的局限性:①线路设计在二维的地形图上进行,地形地物的判别不直观;②地形图的范围有限,设计人员的视野较窄,难以综观全局;③二维地形图提供的信息有限,难以叠加区域三维建筑物、地质等重要信息。
近年来,随着数字摄影测量技术、GIS技术、虚拟现实等高新技术发展,数字地球技术取得重要突破,以GoogleEarth为代表的数字地球软件先后推出,为上述问题的解决提供了较好的途径。
GoogleEarth是拥有全球范围丰富卫星影像和地形数据的三维数字地球平台。
这些卫星影像分辨率较高,现势性较好,对道路规划、方案评审、环境评估具有重要意义。
QGC地⾯站⼆次开发(⼀)地⾯站介绍以及软件框架(1)地⾯站使⽤介绍和接⼝介绍⽬录QGC的界⾯由三⼤部分组成:1 菜单栏(File和Widget两项):其中File包含⼀个是否使能⽇志回放功能以及⼿动退出操作。
Widget则包含了HIL和MAVLInkInspector等功能控件。
2 任务栏:实现将地⾯站的⽇志⽂件回放。
3 主显⽰区域,该部分将⽀持的功能分类按照不同的页⾯进⾏展⽰。
为⽅便⼤家将页⾯和代码对应我们先了解⼀下QGC界⾯显⽰的整体框架。
QGC界⾯显⽰框架地⾯站的UI界⾯是通过MainWindow类实现开始调⽤的,其中MainWindow.ui是GUI控件页⾯,同时该类中开始加载了qml⽂件,通过⼀些定制化的qml控件完成整个界⾯。
下⾯根据代码来进⾏详细讲解:1、MainWindow的构造函数中,通过加载了MainWindowHybrid.qml⽂件,相关代码如下:QQmlEngine::setObjectOwnership(this, QQmlEngine::CppOwnership);_mainQmlWidgetHolder->setContextPropertyObject("controller", this);_mainQmlWidgetHolder->setContextPropertyObject("debugMessageModel", AppMessages::getModel());_mainQmlWidgetHolder->setSource(QUrl::fromUserInput("qrc:qml/MainWindowHybrid.qml"));2、在MainWindowHybrid.qml,在该⽂件中通过⼀个Loader加载了MainWindowInner.qml.Loader {id: mainWindowInneranchors.fill: parentsource: "MainWindowInner.qml"...}3 MainWindowInner.qml主要的控制页⾯的切换和加载。
数字技术设计开发与应用基于ZigBee的校园路灯智能照明系统设计王宁1陈磊2(1.华北理工大学轻工学院河北唐山 063000;2.华北理工大学研究生学院河北唐山 063000)摘要:随着无线技术、数字通信和计算机技术的发展,无线技术标准化和网络化逐渐出现在人们生活中,ZigBee技术便是数字通信和计算机技术中的一种。
本文主要针对ZigBee校园路灯智能化照明系统进行分析设计,有针对性地对各个功能模块内部元器件进行选择,制定了详细的设计流程,组成了智能化照明系统,经过分析探讨,校园智能化照明系统的设计具有很大的应用价值。
关键词:ZigBee校园照明系统中图分类号:TM923.4文献标识码:A文章编号:1007-9416(2016)07-0147-02校园道路照明是保证行人和车辆安全的主要措施,只有设置主体化照明系统,才能给学生提供很好的校园环境,减少不安全事故发生。
从当前校园路灯照明系统的状况来看,由于系统设计方式落后,存在严重的电能消耗,无法实现节约型校园建设需求。
本文主要利用ZigBee技术对校园路灯照明系统进行分析,详细介绍了系统的硬件组成结构,并以LED灯进行分析设计,构建满足校园路灯照明需求的智能化照明系统。
1 概述1.1 ZigBee技术分析ZigBee技术是根据IEEE802.15.4标准中具有低功耗、低成本、短距离、低数据传输率的无线网络技术,可以实现短距离内传输速率要求不高的电子设备以及各种微小电气之间的通信。
ZigBee技术主要利用IEEE802.15.4中的协议标准的物理层及MAC 层协议。
随着技术的不断发展,ZigBee技术联盟为不同厂家生产的设备提供了解决反馈,解决了设备兼容问题。
ZigBee技术网络层标准由ZigBee传感器模块微处理器模块射频模块电源模块图1终端节点硬件结构图图2 LED驱动原理技术联盟制定,用户可以根据自己的实际需求,对其进行开发利用。
1.2 传统路灯控制方式人工控制、时控、电力载波、GSM短消息控制、蜂窝数字分组数据等是传统路灯控制的主要方式。
基于WKML库的Google Earth二次开发及其在测绘中的应
用
班保松;伍吉仓;胡守超
【期刊名称】《全球定位系统》
【年(卷),期】2010(35)3
【摘要】Goolge Earth具有很强大的显示、查询和分析功能,而直接使用KML对Google Earth进行二次开发,通常难以实现数据的批量化处理.因此,介绍一种简单的方法对Google Earth进行二次开发,并将这种方法引入到测绘领域中,以实现测量数据的可视化、查询与分析.
【总页数】4页(P45-48)
【作者】班保松;伍吉仓;胡守超
【作者单位】同济大学测量与国土信息工程系,上海,200092;同济大学测量与国土信息工程系,上海,200092;同济大学测量与国土信息工程系,上海,200092
【正文语种】中文
【中图分类】P208
【相关文献】
1.Google Earth地图数据二次开发技术在农村土地整理中的应用 [J], 邬雪江
2.基于Google Earth的输电线路测绘应用平台研究 [J], 牛琳;陈正宇;梅芳
3.Google Earth二次开发方法及其在公路勘察设计中的应用研究 [J], 梁诚;陈楚江;王丽园
4.Google Earth二次开发方法及其在公路勘察设计中的应用研究 [J], 梁诚;陈楚江;王丽园
5.基于Google Earth的二次开发在农场管理系统的应用研究 [J], 王彤
因版权原因,仅展示原文概要,查看原文内容请购买。
QGIS教程【GBPS详解】写在前面的话:我喜欢用ArcMap来绘制地图,但今天要讲的是用一款叫QGIS的软件。
为什么要用QGIS?ArcGIS太强大了,正因为它太强大,所以,不得不考虑换一个软件。
ArcGIS 10的安装包有3.75G,如此庞大的软件,的确令人生畏。
而购买ArcGIS的费用也基本上是天价级别,如果不用破解,大伙都用不起。
于是我一直想找寻一款免费但功能强劲的GIS软件来支持我的GBPS理论,从QGIS到DIVA-GIS,到MapWindow,又到QGIS。
最后还是决定用QGIS。
QGIS,全称为Quantum GIS,是一款比较知名的免费开源GIS软件,由于在这里我们不谈论二次开发,所以什么源码、编程之类一概不谈。
(QGIS官网:)——————————————分割线————————————————正文:其实我还蛮喜欢教东西的,但是只是喜欢说教,却懒得写教程,所以可能有些地方写的不详细,还请各位看官见谅。
有疑问可留言,我会尽快回复。
对了,我在写教程的过程中我会默认你在大学中上过有关GIS的课,哪怕你上课睡觉或者早就忘的差不多了都没有关系。
如果没有……那你最好先补一下GIS的基本常识(我对GIS也不是很精通,所以有个皮毛就可以了)。
1、下载和安装QGIS下载地址:(截至2012年7月5日的最新版本为1.8.1,但我发现其不支持中文数据,所以在这提供的是1.7.4版本。
大小为111M)下载后双击安装,最好安装在非中文目录下,即路径中不要含有中文字符;而且路径名称中不要有空格,所以不能装在Program Files文件夹下面,建议装在“C:/QGIS”或“D:/QGIS”目录下。
不出意外的话,点桌面上的“”图标即可打开。
如果报错,请百度或谷歌。
2、安装Openlayer插件打开你的QGIS,如果操作界面看不大明白没关系,以后再讲。
为啥要装这个插件?这个插件可以在地图中添加常用的网络地图为底图,对于我们绘制地图来说非常方便。
如何发布google离线地图及二次开发API说明本案例实现内容:GoogleEarth瓦片地图的获取、在ArcGIS Server Manger中发布下载好的影像瓦片数据。
工具准备1、BIGEMAP地图下载器/Home/Product/index.html2、ARCGIS10.2 /s/1i5uMzU93、ARCGIS SERVER /s/1o8k7LUi一、下载瓦片数据启动BIGEMAP地图下载器,选择【谷歌地球】,选在你要下载的区域,双击下载区域,选择级数,如下图:由于我们需要导出ArcGIS选择【】下载完成后,下载好的目录里面有个【conf.xml】文件,如果要拷贝瓦片到其他地方,这个文件要一起拷贝走,并且保存位置不发生变化,ARCGIS 发布的时候会自动读取这个文件。
如下图:二、在ArcGIS中发布服务首先确认arcgiser server是否按照完成,在浏览器输入:http://localhost:6080/arcgis/manager/如果可以正常访问,就证明已安装好,可以进行地图发布了。
安装时默认的用户名:admin 密码admin打开arcMap,单击添加数据按钮,如下图:单击后如下图:若在查找范围内没有找到你下载的文件夹,然后单击连结到文件夹按钮,连结到你下载瓦片的文件:就可以在查找范围内找到你下载瓦片的文件夹了,把刚下载好的瓦片文件在arcMap中打开,可以预览到瓦片地图,依次选择文件,共享为,服务:弹出对话框,点击”下一步“选择一个连结,并填写一个服务名称(如果选择一个连结为灰色,请确认安装好了arcgisServer):点击“继续”,弹出服务编辑器对话框。
直接单击发布,至此在ArcGIS中发布GoogleEarth瓦片为网络地图服务完成,在浏览器中输入localhost:6080/arcgis/manager/,输入安装Arcgis Server时设置的用户名称密码就可以查看刚刚发布的地图了z。
自然保护区基础地理信息数据库系统建设王庆改 赵晓宏 赵越 李海生(国家环境保护总局环境工程评估中心,北京 100012)摘要:自然保护区是环境影响评价和环境影响技术评估所关注的重要敏感保护目标之一,通过ArcGIS、Excel、Acess等数据库软件平台建立了自然保护区GIS空间数据库和属性数据库。
通过Google Earth、PHP网络编程语言、MySQL数据库等软件开发,实现了自然保护区数据库的网络发布和资源共享。
自然保护区基础地理信息数据库系统的建立对提升自然保护区的管理水平、加强环境影响评价及其管理工作具有重要意义。
关键词:自然保护区;数据库;网络发布1 前 言自然保护区是保护自然资源及其特殊景观环境的保护地,是各种生态系统以及生物物种的天然储存库,可以为人类提供生态系统的天然本底。
自然保护区是环境影响评价和环境工程评估中所关注的重要敏感保护目标。
国务院发布的《自然保护区条例》是环境影响评价必须遵循的法律依据。
我国自然保护区数量多、面积大,而且每年自然保护区的面积、数量都在增加。
截至2004年12月,我国共建立1999个自然保护区,占地面积180多万平方公里,约占国土面积的14%。
在环境影响评价管理工作中,对自然保护区相关数据资料的要求精度高,建立自然保护区基础地理信息数据库系统可以为从事环境影响评价管理工作以及和自然保护区相关工作的单位和人员提供高精度、大比例尺的空间数据和相应的属性数据,为实现自然保护区数据的动态管理和及时更新服务。
2002年10月28日由国务院颁布的《中华人民共和国环境影响评价法》中明确指出国家应加强环境影响评价基础数据库和评价指标体系建设,建立必要的环境影响评价信息共享制度,提高环境影响评价的科学性。
而目前我国尚未建立适合建设项目环评管理要求的全国统一的自然保护区基础地理信息数据库系统,建立自然保护区基础地理信息数据库系统对提升自然保护区的管理水平、加强环境影响评价及其管理工作都具有重要意义。
国内外空间信息三维可视化数字地球软件介绍与比较来源:skyline中国社区空间信息技术,又称为地理空间信息技术,是遥感、地理信息系统、全球卫星定位系统与通讯技术、网络技术的综合集成,是将空间对地观测信息的获取、处理、分析、应用结为一体的信息技术体系。
人们认识到的空间世界是三维的,因此空间对地观测信息在本质上有别于其他信息的显著特性:地域性(territorial)、多维结构特性(multidimensional structure)和动态变化特性(dynamic changes)。
如果仅仅采用传统二维数据描述空间世界,会有大量多维的空间数据无法得到利用,于是,人们越来倾向于研究空间信息三维可视化系统技术。
与此同时,二维数据模型与数据结构理论和技术的成熟,图形学理论、数据库理论技术及其它相关计算机技术的进一步发展,也为三维空间信息技术的飞速发展作好了铺垫。
另一方面,随着客户对于应用系统三维功能的需求越来越强烈,具有处理三维数据能力的三维空间信息技术日益显示出强大的生命力。
500年前,葡萄牙著名的航海家和探险家麦哲伦从西班牙出发,绕过南美洲,发现麦哲伦海峡,横渡太平洋,环绕地球一周再到西班牙,完成了人类首次环球航行。
麦哲伦的勇敢的实践无可辩驳地证实了地圆学说,为人类揭开了地球的神秘面纱,是人类第一次“真正发现了地球”。
如果说首次环球航行对于发现和认识地球有极大意义,那么如今空间信息技术的诞生更是赋予了人类前所未有的力量,在掌上翻转地球。
空间信息技术时代的来临,改变了人们获取信息的方式,而这种改变比起有史以来其他任何一种发现发明带来的变革都更加的深刻。
自八十年代末以来,空间信息三维可视化技术一直就是业界的研究热点,尤其是近几年,国内外相关技术的研究呈现出了前所未有壮丽情景。
国内外科研机构和企业纷纷认准了三维空间技术的良好发展势头,进行了跨学科、跨领域合作研究和三维技术攻关,研发了一批各具特色的优秀产品。
QGIS教程【GBPS详解】写在前面的话:我喜欢用ArcMap来绘制地图,但今天要讲的是用一款叫QGIS的软件。
为什么要用QGIS?ArcGIS太强大了,正因为它太强大,所以,不得不考虑换一个软件。
ArcGIS10的安装包有3.75G,如此庞大的软件,的确令人生畏。
而购买ArcGIS的费用也基本上是天价级别,如果不用破解,大伙都用不起。
于是我一直想找寻一款免费但功能强劲的GIS软件来支持我的GBPS理论,从QGIS到DIVA-GIS,到MapWindow,又到QGIS。
最后还是决定用QGIS。
QGIS,全称为QuantumGIS,是一款比较知名的免费开源GIS软件,由于在这里我们不谈论二次开发,所以什么源码、编程之类一概不谈。
(QGIS 官网:)——————————————分割线————————————————正文:其实我还蛮喜欢教东西的,但是只是喜欢说教,却懒得写教程,所以可能有些地方写的不详细,还请各位看官见谅。
有疑问可留言,我会尽快回复。
对了,我在写教程的过程中我会默认你在大学中上过有关GIS的课,哪怕你上课睡觉或者早就忘的差不多了都没有关系。
如果没有……那你最好先补一下GIS的基本常识(我对GIS也不是很精通,所以有个皮毛就可以了)。
1、下载和安装QGIS下载地址:(截至2012年7月5日的最新版本为1.8.1,但我发现其不支持中文数据,所以在这提供的是1.7.4版本。
大小为111M)下载后双击安装,最好安装在非中文目录下,即路径中不要含有中文字符;而且路径名称中不要有空格,所以不能装在ProgramFiles文件夹下面,建议装在“C:/QGIS”或“D:/QGIS”目录下。
不出意外的话,点桌面上的“QuantumGISDesktop”图标即可打开。
如果报错,请百度或谷歌。
2、安装Openlayer插件打开你的QGIS,如果操作界面看不大明白没关系,以后再讲。
为啥要装这个插件?这个插件可以在地图中添加常用的网络地图为底图,对于我们绘制地图来说非常方便。
机场规划设计中景观快速建模方法研究李庆兵发表时间:2018-11-09T09:46:04.073Z 来源:《基层建设》2018年第27期作者:李庆兵[导读] 摘要:随着计算机信息技术的发展,传统的二维地形图模型已不能满足机场规划设计需求。
中国民航机场建设集团有限公司华北分公司北京市 100621摘要:随着计算机信息技术的发展,传统的二维地形图模型已不能满足机场规划设计需求。
将遥感技术、虚拟现实技术结合起来从而快速、高效、自动建立三维可视化地理环境,是机场规划设计一体化、智能化研究领域亟待解决的课题。
本文对机场规划三维建模提出了整体的思路方法,从数据的获取和采集、参数化模型构建等方面着手,对机场规划设计中景观快速自动建模方法进行研究,并针对非洲等欠发达地区,测绘水平低,资料不全的情况,研究利用Google Earth进行数据采集、整理,从而为机场规划三维设计提供基础数据。
关键字:机场规划设计,地理信息系统,三维,快速建模一、景观建模技术及数据获取国内外出现的景观建模方式,主要有以下三种:基于二维GIS数据库的三维扩展、基于三维建模工具的建模方法、数字地形叠加航空航天遥感影像、基于真三维空间数据模型的方法。
考虑到机场规划设计所需的精度,比较建立景观三维模型的方法,采用了基于二维GIS 的建模方法。
1.1 基于二维GIS 的建模方法经过多年的积累,目前的二维GIS的数据相对充分,在这些数据的基础上进行必要的三维扩展是建立三维景观的一种重要的途径。
虽然二维GIS数据库中没有存储建筑物的高程信息,但在其属性中保存了层数信息,因此可以通过使用假定的层高(例如住宅楼每层3m、商业楼每层3.5m等)和模拟的纹理来构建三维建筑物对象,即在二维GIS基础上另外添加一些信息(如房屋高度、墙面纹理、规则屋顶等)来构建三维景观。
1.2 景观三维信息获取通过遥感卫星或者飞行器获取的影像一般造价较高,需要大量资金投入进行购买,增加了景观建模的造价。
GoogleEarth二次开发难点和技巧一、基本步骤1、安装GoogleEarth程序2、对GoogleEarth activex控件进行注册(googleearth.exe /regserver)3、在开发环境中引用googleearth activex二、开发方式针对GE的开发有两种方式,一种是基于GE的com API,一种是基于KML。
基于Com API的开发方式主要用来控制GE的视角、实现动画效果,而基于KML的开发方式主要用来生成地理要素,实现数据的动态更新等。
在实际应用中,需要结合这两种开发方式,这样才能得到比较理想的效果。
1、基于ComAPI的开发GE 公布的API目前是1.0a版,数量比较少,所能实现的功能也不多,在实际开发中主要用来加载KML数据、控制视角和实现动画播放。
A、加载KML数据IApplicationGE. OpenKmlFile(kmlFilePath),加载指定的kml文件到GE中;IApplicationGE.LoadKmlData(kmlData),加载kml文本流到GE中B、控制视角IApplicationGE. SetCamera(ICameraInfoGE,double ),设置GE当前的视角,第一个参数为视角参数,第二个参数为当前视角飞到这个视角的速度(取值范围为0--5);IApplicationGE .SetFeatureView(IFeatureGE,double),从当前视角飞到指定要素处的视角,第一个参数为指定的要素,这个要素的视角由KML中的<LookAt>标签来决定,第二个参数为飞行速度(取值范围为0—5)。
C、动画效果GE中实现动画效果有两种方法,第一种是通过KML中的<Annimation>标签来实现,这个标签内部放置的是每一帧所代表的视图,第二种方式是通过API来实现某个父要素下的所有子要素的视图的轮流切换。
ITimeIntervalGE.Play()开始播放<Annimation>标签中的帧ITourControllerGE. PlayOrPause ()播放某个父要素下的子要素,或暂停播放2、基于KML的开发GE实际上就是一个浏览器,被浏览的数据是KML,KML和GML、SVG等表示矢量图形的标准类似,不过他所描述的是三维的数据结构,可以认为KML是基于XML的一种三维矢量图形标准。
KML的结构组成可以参考(/apis/kml/documentation/kml_tags_beta1.html),从其结构图中可以看出,KML描述地物的方式和通用的GIS相类似,主要由要素、样式、视角、动画等部分组成。
下面我说明KML中几个比较有难度的技术。
A、LOD技术LOD(Level Of Detail)地图分级加载技术,利用LOD技术可以在PC机上浏览海量的影像地图数据。
有GIS平台使用经验的都知道,我们可以设置某个图层在某个比例尺范围之内显示,小于或者超过这个范围则不显示。
LOD技术非常类似,比如说,在视角高度很大的时候,我只加载1:5000W的影像数据,在视角高度很小的时候,我只加载1:1000的数据,这样的话,视角高度越低,我们所能看到的地物越详细。
在KML中用来实现LOD技术的是<Region>标签,这个标签定义了在什么范围内,在什么像素级别范围内显示某个要素。
B、动态数据更新技术在GPS车辆监控系统中,需要对实时数据进行更新。
利用KML中的<NetworkLink>和< refreshMode>标签可以实现数据的实时更新。
将refreshMode设置为onInterval模式,并在< refreshInterval >中设置间隔时间,那么GE 将间隔指定的时间来刷新一下<href>标签中的链接地址,这个链接地址可以是本地磁盘上的一个文件,也可以是一个网络链接。
(可以参照gpsrealtime.kml来理解)C、动画播放技术KML中的< TimeSpan >或者<TimeStamp >标签是用来控制动画播放的,< TimeSpan >或<TimeStamp >都必须包含在在一个要素标签内,表示的是在某个时间点上,GE的视图转到当前要素标签所规定的视图上,并完成相应的动作。
因此每一个包含时间戳标签的要素标签都表示动画过程中的一帧。
(可以参照trackreplay.kml来理解)D、三维建模技术KML中的几何对象都包含三个属性:longitude、latitude、altitude,利用基本的几何图形(如点、线、面),加上高程数据,我们可以构建一些简单的三维图形。
如果需要构建复杂的三维模型,可以借助三维建模工具,如3D max,google sketch,AutoCAD,然后将得到的三维模型转成dae格式即可,这样就可以直接在GE中调用这些三维模型了(利用<Model>标签来引用模型文件的位置)三、几个技巧1、如何将GE的地图控件引用到自定义的窗体中?在一般情况下,我们针对GE的开发都只能基于GE程序本身来进行,所有的操作都必须在GE本身的框架上进行,不能将GE的地图控件像一般可拖放的控件来操作。
怎么解决这个问题呢,这里要用到一下Win API,将GE中的地图部分hook过来。
this._GEMainHandler = (IntPtr)this._googleEarth.GetMainHwnd();//获取GE程序的句柄SetWindowPos((int)this._GEMainHandler, HWND_BOTTOM, 0, 0, 0, 0, SWP_NOSIZE +SWP_HIDEWINDOW);//将GE窗体移到屏幕可视范围之外,使之不可见this._GEHrender = (IntPtr)_googleEarth.GetRenderHwnd();//获取GE的地图控件的句柄this._GEParentHrender = GetParent(this._GEHrender);//获取GE地图控件的父控件的句柄PostMessage((int)this._GEParentHrender, WM_HIDE, 0, 0);//发送消息到地图控件的父控件,使之不可见SetParent(this._GEHrender, customControl.Handle);//将GE地图控件的父控件设置为我们指定的控件使用上面的代码,我们就可以将GE中的地图控件抢夺到我们自己的winform中。
(参考utilities\GEHandler.cs)2、如何为GE提供动态数据?为GE提供动态数据,需要用到上面介绍的KML动态数据更新技术。
在这里提供一个比较好的解决方案,架构动态数据提供服务器。
这有点类似于B/S架构,browser就是GE,Server就是我们要架设的服务器,Server提供的是动态的符合KML规范的数据,GE间隔一定时间去服务器上获取一下数据。
3、如何得到GE中的指定要素?当我们需要对某个要素进行操作时,首先必须得到这个要素。
当KML文件被加载进入GE中后,这个文件也被当作一个要素看待,文件中的这个几何图形、图片、链接等都被当成这个要素的子要素看待。
在GE中获取某个要素只有两个途径:通过要素名称和通过要素的链接地址GetFeatureByName(name)通过要素名称来得到要素GetFeatureByHref(href)通过链接地址来得到要素(得到的是从链接地址中代表的内容)一、基本步骤1、安装GoogleEarth程序2、对GoogleEarth activex控件进行注册(googleearth.exe /regserver)3、在开发环境中引用googleearth activex二、开发方式针对GE的开发有两种方式,一种是基于GE的com API,一种是基于KML。
基于Com API的开发方式主要用来控制GE的视角、实现动画效果,而基于KML的开发方式主要用来生成地理要素,实现数据的动态更新等。
在实际应用中,需要结合这两种开发方式,这样才能得到比较理想的效果。
1、基于ComAPI的开发GE 公布的API目前是1.0a版,数量比较少,所能实现的功能也不多,在实际开发中主要用来加载KML数据、控制视角和实现动画播放。
A、加载KML数据IApplicationGE. OpenKmlFile(kmlFilePath),加载指定的kml文件到GE中;IApplicationGE.LoadKmlData(kmlData),加载kml文本流到GE中B、控制视角IApplicationGE. SetCamera(ICameraInfoGE ,double ),设置GE当前的视角,第一个参数为视角参数,第二个参数为当前视角飞到这个视角的速度(取值范围为0--5);IApplicationGE .SetFeatureView(IFeatureGE,double),从当前视角飞到指定要素处的视角,第一个参数为指定的要素,这个要素的视角由KML中的<LookAt>标签来决定,第二个参数为飞行速度(取值范围为0—5)。
C、动画效果GE中实现动画效果有两种方法,第一种是通过KML中的<Annimation>标签来实现,这个标签内部放置的是每一帧所代表的视图,第二种方式是通过API来实现某个父要素下的所有子要素的视图的轮流切换。
ITimeIntervalGE.Play()开始播放<Annimation>标签中的帧ITourControllerGE. PlayOrPause ()播放某个父要素下的子要素,或暂停播放2、基于KML的开发GE实际上就是一个浏览器,被浏览的数据是KML,KML和GML、SVG等表示矢量图形的标准类似,不过他所描述的是三维的数据结构,可以认为KML是基于XML的一种三维矢量图形标准。
KML的结构组成可以参考(/apis/kml/documentation/kml_tags_beta1.html),从其结构图中可以看出,KML描述地物的方式和通用的GIS相类似,主要由要素、样式、视角、动画等部分组成。
下面我说明KML中几个比较有难度的技术。
A、LOD技术LOD(Level Of Detail)地图分级加载技术,利用LOD技术可以在PC机上浏览海量的影像地图数据。
有GIS平台使用经验的都知道,我们可以设置某个图层在某个比例尺范围之内显示,小于或者超过这个范围则不显示。
LOD技术非常类似,比如说,在视角高度很大的时候,我只加载1:5000W的影像数据,在视角高度很小的时候,我只加载1:1000的数据,这样的话,视角高度越低,我们所能看到的地物越详细。