谷歌地球二次开发经典案例
C调用GoogleEarthCOMAPI开发
![C调用GoogleEarthCOMAPI开发](https://img.taocdn.com/s3/m/2a7a5453a300a6c30c229f64.png)
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又带给大家第二篇文章。
GoogleMaps二次开发
![GoogleMaps二次开发](https://img.taocdn.com/s3/m/4a9b8ec589eb172ded63b7b1.png)
息输入系统” 中, 这样便可以制作出功能齐全的 Authorware 课 件。 成果模板的优势主要体现在以下几点:
(1) 树型结构, 清晰、 易操作。 事实上, 树型结构是最容 易被理解的一种知识结构, 同时也是最容易被人控制的一种结 构。 选择这样一种方式来呈现知识点, 会带来更有逻辑的课堂 节奏。 而且, 本课题中的 “树型结构控制区” 功能是完全兼容 “线性结构” 操作方式的。 因此, 这种显示结构是非常有优势 的。 而且, 本课题成功地完成了在树型结构下实现文本的输入
CallSprite (@"treeview",#callstring,"SelectedItem (Nodes.Item ('" ^indexlight^"'))") GoTo(IconID@"调出页面设置 2")
(3) 同样在删除节点的时候, 也要注意页码的设置, 还有 就是被删除页的子页面, 其生成页要变成生成页的生成页, 只 有这样才能保证结构树的连续性, 否则, 在读取的时候, 在断 开处向下的节点都无法读取。 还有书签, 如果书签大于了删除 后的总页数, 也要对书签的值进行修改。 由此可见, 这里的每 一个变化都是有很多联系的, 要一一处理好。
通过二次开发, 可以在 Google 卫星地图 上 添 加 表 单 、 提 示 、链 接 、 滚 动 字 幕 、flash 等 。 方 法 是 通 过 Google map API 定 义 G_USER_INF 类 , 继 承 GOverlay 类 , 并 放 于 G_MAP_MARKER_MOUSE_TARGET_PANE 层。 在 G_USER_INF 实例容器中放 (下转第 86 页)
4 二次开发实例
9662417_Google_Earth卫星图在林地管理中的应用
![9662417_Google_Earth卫星图在林地管理中的应用](https://img.taocdn.com/s3/m/4c65eb25a200a6c30c22590102020740be1ecd16.png)
河北农业科学,2014,18(2):104-108Journal of Hebei Agricultural Sciences编辑 蔡海燕Google Earth 卫星图在林地管理中的应用叶开明 (安徽省歙县歙西林场,安徽黄山 245900)摘要:选择从Google Earth 软件截取相对清晰的卫星图片,采用Photoshop 和CoreldrawX3绘图软件在卫星图片图斑上落界、画线、标注或比照相关红线图纸,制作出更直观的林业管理专业用图,应用于林业用地、项目开发用地、侵占林地案件等专业调查工作中,更有利于相关管理部门及林业管护人员识图、确界、求积、计算长度和监管。
关键词:Google Earth ;图纸;林业调查;应用中图分类号:F326.2 文献标识码:A 文章编号:1008⁃1631(2014)02⁃0104⁃05The Application of Satellite Image from Google Earth in Forestry Management YE Kai⁃ming (Shexi Forestry Farm of Shexian ,Huangshan 245900,China )Abstract :Applying intercepted satellite image from Google Earth and using software Photoshop and CoredrawX3to make more intuitionistic image for forestry management demarcation ,draw lines ,tagging ,according to the related red line drawings in the satellite images.If putting into use in special fields like forestry management ,forestland for project exploitation and the cases of invading and occupying forestland ,this kind of images will benefit relevantdepartments and researches ,boundary identification ,quadrature ,length calculation and supervision.Key words :Google Earth ;Drawing ;Forestry investigation ;Application收稿日期:2013⁃08⁃22作者简介:叶开明(1964-),男,安徽黄山人,工程师,主要从事国有林场森林资源管护及林政管理研究。
03.MapGIS VirtualEarth二次开发技术篇
![03.MapGIS VirtualEarth二次开发技术篇](https://img.taocdn.com/s3/m/5cbf9911f18583d04964598d.png)
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技术开发。
GoogleEarth二次开发在林业GIS系统中的应用
![GoogleEarth二次开发在林业GIS系统中的应用](https://img.taocdn.com/s3/m/0a3b2f4b3b3567ec102d8a8c.png)
GoogleEarth二次开发在林业GIS系统中的应用【摘要】本文对GE开发相关技术进行介绍,并基于VB开发出一个基于GE的林业GIS系统,为林业GIS系统的开发提供了一种新的思路和方法。
【关键词】GoogleEarth;GIS;林业1.GoogleEarth简介谷歌地球(GoogleEarth,简称GE)是一款Google公司开发的虚拟地球仪软件,它集成了地理信息系统、遥感和全球定位系统等高新技术的功能,免费向用户展示了全球范围内的卫星影像和航拍影像和道路、水系、地名等基础地理信息数据。
它采用强劲的三维引擎和高速的数据压缩传输技术,进行了金字塔式建库,将超大数据量的卫星影像通过Internet网进行发布,数据在全球范围内周期性更新。
GE几乎可以应用于传统GIS领域如交通、军事、农业、国土、矿产、文物古迹保护、林业、海洋和城市规划等。
2.GoogleEarth与KML文件KML是一种基于XML语法格式的语言,可用于保存点、线、面、文字描述、3D模型、图像等地理信息,具有易编辑、可网络发布与共享、层次性与继承性等优点,可以被GE解译并在其平台上显示出相应的地理要素模型。
KML 文件成为一个国际性标准,能与ESRI、MapInfo、Intergraph、Surper Map等平台的GIS数据进行交换和信息共享。
林业空间数据首先需要利用ArcGIS或其他工具转换为大地坐标系,再转换成KML(或KMZ,KMZ是压缩后的KML文件)。
用户可借助网络上提供的转换工具也可通过二次开发进行转换。
下面是一个由KML语言编写的例子:株山瞭望塔建于2009年,护林员编号0507056114.3652142,27.389245,14238这个实例描述了一个瞭望塔,名称为:株山瞭望塔;描述为建于2009年,护林员编号0507056;位置的经度为114.3652142,纬度为27.389245,海拔高度为14238米。
3.林业GIS系统开发与实现3.1 GoogleEarth开发关键技术基于GoogleEarth的二次开发通过调用GE类库提供的API接口实现GE常用功能、添加业务逻辑、构建应用系统,其开发原理与方式与基于COM传统GIS开发方式类似。
GIS二次开发实验报告
![GIS二次开发实验报告](https://img.taocdn.com/s3/m/dc4f9e22700abb68a882fb29.png)
下载可编辑GIS 二次开发实验报告学号:姓名:班级:专业:指导老师:二零一五年 11 月 15 日目录1实验一:软件安装与 AOI 书签开发 (2)1.1实验目的 (2)1.2实验内容 (2)1.3实验结果 (2)2实验二:地图数据组织与访问 (5)2.1实验目的 (5)2.2实验内容 (5)2.3实验结果 (5)3实验三:地图渲染与制图输出 (9)3.1实验目的 (9)3.2实验内容 (9)3.3实验结果 (9)4实验四:空间数据处理 (14)4.1实验目的 (14)4.2实验内容 (14)4.3实验结果 (14)5实验五:GIS 分析 (20)5.1实验目的 (20)5.2实验内容 (20)5.3实验结果 (20)6 实验六:栅格数据处理 (25)4.1实验目的 (25)4.2实验内容 (25)4.3实验结果 (25)7实验总结 (31)1实验一:软件安装与 AOI 书签开发1.1实验目的掌握 AOI 书签程序开发1.2实验内容实现 AOI 书签的创建实现 AOI 书签的调用1.3实验步骤与结果安装程序后,新建地图显示项目。
在程序的主窗体上端添加添加菜单项,文本属性为创建书签,控件名为miCreateBookmark,在旁边添加组合框,控件名为cbBookmarkList。
1.右击引用选择AddArcGIS Reference在弹出的对话框中添加引用在主窗体(即MainForm.cs )中添加代码;(1 )首先添加引用代码:using ESRI.ArcGIS.Display;using ESRI.ArcGIS.esriSystem;using ESRI.ArcGIS.Carto;using ESRI.ArcGIS.Controls;using ESRI.ArcGIS.ADF;using ESRI.ArcGIS.SystemUI;using ESRI.ArcGIS.Geometry;using ESRI.ArcGIS.Geodatabase;using ESRI.ArcGIS.DataSourcesFile;using ESRI.ArcGIS.DataSourcesRaster;(此引用代码都需添加引用后才可以使用,上述引用代码为本类中所需要的所有引用,在之后的编程中,可以不用重复引用)(2)添加“创建书签”函数在 MainForm 类中添加成员函数 CreateBookMark ,代码如下:public void CreateBookmark(string sBookmarkName)//参数为书签名{// 通过 IAOIBookmark接口创建一个变量,其类型为AOIBookmark,用于保存当前地图的范围IAOIBookmark aoiBookmark = new AOIBookmarkClass();if (aoiBookmark != null){aoiBookmark.Location = axMapControl1.ActiveView.Extent; = sBookmarkName;}//通过 IMaoBookmarks 接口访问当前地图,并向地图中加入新建书签IMapBookmarks bookmarks=axMapControl1.Map as IMapBookmarks;if (bookmarks != null){bookmarks.AddBookmark(aoiBookmark);}//将新建书签名加入组合框中,用于之后调用对应书签cbBookmarkList.Items.Add();}2.添加“书签名成设置”窗体(1)点击项目添加 Windows 窗体,该窗体命名为“AdmitBookmarkName.cs ”,点击添加后,转入设计窗口。
基于udig(开源GIS软件)二次开发(4)
![基于udig(开源GIS软件)二次开发(4)](https://img.taocdn.com/s3/m/3e2d2fb5d1f34693daef3ee7.png)
基于udig(开源GIS软件)二次开发(4)本次主要基于udig做一个简单的二次开发实例,假如我们手里有一批经纬度的信息,想直接在地图上查看。
当然这时候方法非常多,譬如我通过postgis+geoserver+openlayers很容易实现,或者在udig里有create point也可以直接绘制,还有通过openlayers的marker只需要一个简单的txt文件也行,完全用不到二次开发,但这里只是说做一个简单的范例看看udig是怎么样加载地图数据和怎么样我们可以生成一份地图数据。
本次我们生成比较通用的shp文件(postgis等以后再说),生成shp 我们这里需要用到geotools,不过udig里已经集成进去了geotools的jar包,我们只需要在我们自己的插件里引用net.refractions.udig.libs这个插件即可。
闲话不多说,我们开始先创建一个插件项目(因为是DEMO,所以就一个插件,记得勾选RCP)。
1、创建项目,如图:1、2、创建几个包,如图:其中command下我们生成一个类ImportDataCommand extends AbstractHandler ,pojo下我们生成一个基础的点实体类DemoPoint { private double lon ; private double lat ; private String site_name ; public double getLon() { return lon; } public voidsetLon(double lon) { this.lon = lon; } public double getLat() { return lat; } public void setLat(double lat) { t = lat; } public String getSite_name() { return site_name; } public void setSite_name(String site_name){ this.site_name = site_name;} } 3、1、Command中实现public Object execute(ExecutionEvent event) throws ExecutionException {} 这个方法。
基于Google Map API的校园电子地图开发
![基于Google Map API的校园电子地图开发](https://img.taocdn.com/s3/m/46d1aed3ad51f01dc281f1c7.png)
第19卷第3期 测 绘 工 程 Vol.19№.32010年6月 EN GIN EERIN G OF SU RV EYIN G AND MA PP IN G J un.,2010基于G oogle Map A P I 的校园电子地图开发吴 肖1,彭 璇1,朱明磊2(1.武汉大学测绘学院,湖北武汉430079;2.天津市房地产登记发证交易中心,天津300051)摘 要:G oogle Map AP I 为用户提供向G oogle 地图添加各种个性化内容的功能,用户在此基础上进行二次开发,可实现各类网络地图服务。
利用G oogle Map AP I 开发校园电子地图,实现电子地图的各项基本功能,并探讨功能实现中的关键部分设计。
关键词:G oogle Map AP I ;校园电子地图;地标中图分类号:P208 文献标志码:A 文章编号:100627949(2010)0320035204Digital ca mpus ma p publishing ba sed on Google Ma p APIWU Xiao 1,P EN G Xuan 1,ZH U Ming 2lei2(1.Sc hool of G eodesy a nd G eomatic s ,Wuhan Univer sit y ,Wuhan 430079,China ; 2.Tianjin Registration a nd CertificationTrading Cente r of Real Estate ,Tianjin 300051,China)Abstract :G oogle Map s A PI p rovides a num ber of utiliti es for addi ng i ndi vi dual cont ent t o t he G oogle map ,and user s ca n explore various web map applications ba se d on G oogle Maps API.In t hi s paper ,a new digit 2al campus map i s creat ed by means of G oogle Map A PI ,which can act ualize essent ial f unct ion and provide a variet y of ser vices ,and t hen di scusses more detail s about key desi gn and f unct io n of t his appli cation.K ey w or ds :G oogle Map AP I ;campus map ;G ma rker 收稿日期22作者简介吴 肖(6),女,硕士研究生 G oogle Map 与G oogle Ea rt h 的推出使得地理信息服务迅速大众化,它让原本专业性很强的传统Web GIS 服务成为一种大众信息服务。
基于kml的google地球二次开发技术分析
![基于kml的google地球二次开发技术分析](https://img.taocdn.com/s3/m/7bf3d6d5bcd126fff6050b76.png)
进行合作,订制私有的Google地球应用4、 Google地球的卫星影像主要来自QuickBird、
IKONOS、SPOTS等高清影像卫星,航拍部分主要来 源于BlueSky公司、Sanborn公司。Google地球影像一般有1~3年的滞后,全球地貌影像有效分辨率至少为 70m,通常分辨率为30m,视角海拔高度为1 km左 右。大城市、著名风景区等热门地点,影像分辨率可以 高达06~lm,视角高度约为350皿~500皿。大部分高 清影像集中在北美和欧洲4、
SubStyle
---- alloonStyle ---- istStyle
gx:7ourPrimitive
----- x:AnimatedUpdate ----- x:Flylo ----- x:SoundCue ----- gx:TourControl
gx:Wait ---- x:PlayList旺ຫໍສະໝຸດ 怛坷帐s ^
廡
亦
ffWi _
I q
_
nearRing
----- ultiGeometry x:Track gxiMultiTrack
-JimeSpan / gx:TimeSpan ■JimeStamp / gx:TimeStamp
---- LatLonBox ---- LatLonAltBox ---- gx:LatLonQuad
KML使用包含嵌套的元素和属性的结构(基于 标记、,并符合XML标准。如图1所示KML的基本框 架。需要说明的是线框中的元素是抽象元素,用于方
便的描述多个相似属性的元素,不可以直接在KML
―x:Tour
编程实现Google_Earth和ArcGIS的联动
![编程实现Google_Earth和ArcGIS的联动](https://img.taocdn.com/s3/m/ce52c7e7e2bd960591c6778c.png)
编程实现Google Earth 和ArcGIS 的联动[demo]这个DEMO实现的功能就是在google earth 中用鼠标获取地理坐标,然后自动定位到ARCGIS对应的区域影像中。
前段时间因项目引导,在师兄的启发下,做了一个这样的Demo,后来因为各种原因一直没有进行下去。
现在感觉还是有些用处的,现在抽空整理一下。
Google Earth 是一款优秀的Map Explorer ,它的优秀在于使用普及和方便,虽然DigitalGlobe 影像数据更新速度慢,但分辨率是还是很高的,最高可达到0.5m。
如果忽略其误差,可以利用Google Earth 的影像资源进行定位参考、解译参考、数字化等。
Google Earth 继Google Map API 之后推岀的Google Earth COM API ,提供的功能相对比较弱,一些功能据说似乎还存在着Bug。
网址:/comapi/index.html 。
google earth 的二次开发有两种方法:(1 )使用windows API 控制两个进程的调用,利用google earth api 实现核心功能。
(2 )使用做好的务功能重点放在GE API开发上。
这个demo使用的是GEVContorl(GEVC) ,它是一个完全COM的控件,对截止目前所有版本的GoogleEarth 都支持,具有很高的兼容性和可用性,能够将GE视图(地球视图)集成到开发人员的应用系统中,并且支持滚轮功能。
下载地址:/dow nload.jsp一、安装完GE后,系统会自动拷贝一个EARTHLib.dll ,添加Google Earth 1.0 TypeLibrary 到库应用、.NET 中新建Arcgis comma nd类。
将生成一个dll ,可以被ARCGIS 自动添加到组件库中。
三、部分代码,主窗口中:1 Imports EARTHLib2 Imports ESRI.ArcGIS.C on trols3 Imports ESRI.ArcGIS.Geometry4 Imports ESRI.ArcGIS.Carto5 Imports ESRI.ArcGIS.SystemUI6 Imports ESRI.ArcGIS.ArcMapUl7 Imports ESRI.ArcGIS.esriSystem8 Imports ESRI.ArcGIS.Framework9 Imports ESRI.ArcGIS.Geodatabase10 Imports ESRI.ArcGIS.Display11 Imports System.Wi ndows.Forms.Cursor12 Imports System.Drawi ng13 Imports System.Drawi ng.Drawi ng2D141516 —Public Class Form217 Public g_GeHelper As EARTHLib.Applicatio nGE 'GE 的主应用API18 Public hookhelper As IHookHelper 'hookhelper19 一Public Ion gitude As Double '经度20 Public latitude As Double '维度21 —Dim pApp As IApplicati on22 Dim pEn able As Boolea n23 一Dim pDoc As IMxDocume nt24 Dim pWorkspace As IWorkspace25 Dim pMap As IMap26Dim pLayer As ILayer27Dim pWorkE As IWorkspaceEdit28Dim pFeaLayer As IFeatureLayer29Private Structure POINTAPI30Dim x As Double31Dim y As Double32End Structure3333Private Sub Butt on 1_Click(ByVal sen der As System.Object, ByVal e As System.EventArgs) Handles Buttonl.Click34'初始化应用GE35_ g_GeHelper = New EARTHLib.ApplicationGE36AxGEViewer1.HookGE(g_GeHelper.GetMai nHwnd, g_GeHelper.Ge tRe nderHw nd)37End Sub394038Private Sub AxGEViewer1_MouseDow nEve nt(ByVal sen der As Syste m.Object, ByVal e As AxGEVControl.__GEViewer_MouseDow nEve nt) Ha ndles AxGEViewerl.MouseDow nEve nt39一If CheckBoxl.Checked = True Then40Dim GePt As Poi ntO nTerrai nGE41一Dim pt As POINTAPI42—'屏幕坐标到GE屏幕坐标的转换43pt.x = e.evtArgs.X * 2 / Me.Width - 144一pt.y = -e.evtArgs.Y * 2 / Me.Height + 145'GE屏幕坐标到地理坐标的转换46一GePt = g_GeHelper.GetPointOnTerrainFromScreenCoords(CDbl(pt.X), CDbl(pt.Y))5051 MsgBox( "点击屏幕坐标:“ & pt.x & “,“& pt.y & "获得ge坐标:"& GePt.Longitude & “ ,“ & titude)52 lon gitude = GePt.L on gitude53 latitude = titude54 pMap = hookhelper.ActiveView5556 'arcmap 中绘制点57 Dim poi nt As IPoi nt58 poi nt = New ESRI.ArcGIS.Geometry.Poi nt59 poin t.PutCoords(l on gitude, latitude)6061 Dim pMarkerEleme nt As IMarkerEleme nt62 pMarkerEleme nt = New MarkerEleme nt6364 Dim pMarkerSymbol As ESRI.ArcGIS.Display.ISimpleMarkerSymbol65 pMarkerSymbol = New ESRI.ArcGIS.Display.SimpleMarkerSymbol66 pMarkerSymbol.Size = 367 pMarkerSymbol.Style = ESRI.ArcGIS.Display.esriSimpleMarkerStyle.esriSMSDiamo nd6869 Dim pEleme nt As IEleme nt70 pEleme nt = pMarkerEleme nt71 pEleme nt.Geometry = point72 pMarkerEleme nt.Symbol = pMarkerSymbol7374 Dim pGraphicsC ontainer As IGraphicsC on tai ner75 Dim pActiveView As IActiveView76 pActiveView = pMap77'pActiveView.Exte nt.Ce nterAt(poi nt)7878'arcmap 中点的定位79Dim pEn velop As IEn velope80pEn velop = pActiveView.Exte nt81pEn velop.Ce nterAt(poi nt)82pActiveView.Exte nt = pEn velop83pActiveView.Refresh()84pGraphicsC ontainer = pMap85pGraphicsC on tai ner.AddEleme nt(pMarkerEleme nt,0) 86pActiveView.PartialRefresh(esriViewDrawPhase.esriVie wGraphics, Noth ing,Nothi ng)87End If8988End Sub89一Public Write Only Property hook() As IHookHelper90Set(ByVal value As IHookHelper)91—hookhelper = value92End Set93I—End Property9694Private Sub Form2_Load(ByVal sen der As System.Object, ByVale As System.Eve ntArgs) Han dles MyBase.Load9895—End Sub96—E nd Classcomma nd.cs 中实现组件注册:63Private m_hookHelper As IHookHelper646566 'A creatable COM class must have a Public Sub New()67 'with no parameters, otherwise, the class will not be68 'registered in the COM registry and cannot be created69 'via CreateObject.70 Public Sub New()71 MyBase.New()7273 'TODO: Define values for the ! public properties74 MyBase.m_category = "test" 'localizable text75 MyBase.m_capti on = "tooll" 'localizable text76 MyBase.m_message = "This should work in ArcMap/MapCo ntrol/PageLayoutC on trol" 'localizable text77MyBase.m_toolTip = .... localizable text78MyBase.m _n ame = ..... uni que id, non-localizable (e.g. "MyCategory_MyComma nd")79Try80一'TODO: change bitmap name if necessary81Dim bitmapResourceName As Stri ng = Me.GetType().Name+ ".bmp"82MyBase.m_bitmap = New Bitmap(Me.GetType(), bitmapResourceName)83一Catch ex As Exception84System.Diag no stics.Trace.WriteLi ne(ex.Message, "I nva lid Bitmap" )85End Try868788 End Sub899091 Public Overrides Sub On Create(ByVal hook As Object)92 If m_hookHelper Is Nothi ng The n m_hookHelper = New HookH elperClass9394 If Not hook Is Nothing Then95 Try96 m_hookHelper.Hook = hook97 If m_hookHelper.ActiveView Is Nothi ng The n m_hoo kHelper =Nothi ng98 Catch99 m_hookHelper = Nothi ng100 End Try101102 'Disable if hook fails103 If m_hookHelper Is Nothi ng Then104 MyBase.m_e nabled = False105 Else106 MyBase.m_e nabled = True107 End If108 -109 'TODO: Add other initialization code110 End If111 End Sub112113 Public Overrides Sub On Click()114 'TODO: Add Comma nd1. On Click impleme ntati on115Dim ce As IEn velope = m_hookHelper.ActiveView.Exte nt 116ce.Expand( 0.5 , 0.5 , True)117m_hookHelper.ActiveView.Exte nt = ce118m_hookHelper.ActiveView.Refresh()119MsgBox( "asdasd")120Dim frm As Form2121frm = New Form2122frm.hookhelper = m_hookHelper123frm.Show()124End Sub125125End Class127生成dll后,即可直接在arcmap中添加自定义的coma nd按钮进行调用了。
GoogleEarth二次开发(资料一)
![GoogleEarth二次开发(资料一)](https://img.taocdn.com/s3/m/1851c75e852458fb770b5690.png)
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来实现某个父要素下的所有子要素的视图的轮流切换。
bigemap发布google离线地图及二次开发API
![bigemap发布google离线地图及二次开发API](https://img.taocdn.com/s3/m/be31d30210a6f524ccbf85f3.png)
如何发布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。
EV-Globe在线平台二次开发教程
![EV-Globe在线平台二次开发教程](https://img.taocdn.com/s3/m/7088821fa76e58fafab00374.png)
EV-Globe Web版二次开发教程EV-Globe Web版二次开发教程北京国遥新天地信息技术有限公司2010年3月北京EV-Globe Web版二次开发教程版权所有2009-2015,北京国遥新天地信息技术有限公司。
本版最终解释权归北京国遥新天地信息技术有限公司所有。
警告,本文档包含的所有内容是北京国遥新天地信息技术有限公司的财产,受到《中华人民共和国著作权法》和《国际公约》的保护。
未得到北京国遥新天地信息技术有限公司的书面许可,不得以任何形式或手段复制、传播,或以任何电子和文本方式翻印、转载本文档的任何部分。
本文档并不代表供应商及其代理的承诺,北京国遥新天地信息技术有限公司可以在不做任何申明的情况下对本文档的内容进行修改。
本文档内容的更改将不另行通知。
如有疑问请与北京国遥新天地信息技术有限公司联系:北京市朝阳区安翔北里甲11号北京创业大厦B座21层01室。
徽标是北京国遥新天地信息技术有限公司的注册商标。
的一切有关权利属于北京国遥新天地信息技术有限公司所有。
本文档中所涉及的软件产品及其后续升级产品均由北京国遥新天地信息技术有限公司制作并负责全权销售。
本文档中提到的其它公司及其产品的商标所有权属于该商标的所有者。
北京国遥新天地信息技术有限公司联系方式:电话:+86-10-64876655传真:+86-10-64884630网址:销售电子邮箱:sales@技术支持电子邮箱:support@北京国遥新天地信息技术有限公司欢迎您的宝贵意见和建议。
EV-Globe Web版二次开发教程目录EV-GLOBE WEB版二次开发教程 (I)基础篇 ............................................................................................... 错误!未定义书签。
1 EV-GLOBE WEB版二次开发入门 (8)1.1各主要功能模块简介 (8)1.2EV-G LOBE W EB版二次开发入门示例 (9)2 WEBGLOBECORE控件开发指南 (11)2.1W EB G LOBE C ORE控件介绍 (11)2.2W EB G LOBE C ORE控件开发示例 (12)2.2.1 添加WebGlobeCore控件 (12)2.2.2 视图控制功能的实现 (12)2.2.3 飞行定位 (13)2.2.4 保存快照 (13)3 WEBLAYERTREECONTROL控件开发指南 (14)3.1W ORLD L AYER M ANAGER控件简介 (14)3.2W ORLD L AYER M ANAGER控件开发实例 (14)4 KML标注管理开发指南 (16)4.1W EB K ML T REE C ONTROL控件简介 (16)4.2开发示例 (16)4.2.1 加载并初始化WebKmlTreeControl控件 (16)4.2.2 添加KML文件夹标注对象 (17)4.2.3 添加点地标对象 (18)4.2.4 添加路径标注对象 (19)4.2.5 添加多边形标注对象 (19)4.2.6 添加模型标注对象 (20)4.2.7 添加影像覆盖层标注对象 (21)4.2.8 添加照片标注对象 (21)4.2.9 添加网络连接标注对象 (22)4.2.10 添加长方体标注对象 (23)4.2.11 添加锥体标注对象 (23)4.2.12 添加半球标注对象 (24)4.2.13 导入KML/KMZ文件 (25)5 WEBSAILMANAGERCONTROL控件开发指南 (26)5.1W EB S AIL M ANAGER C ONTROL控件简介 (26)5.2开发示例 (26)6 地名查询模块开发指南 (29)6.1W EB P LACE R ESULT C ONTROL控件简介 (29)6.2开发示例 (29)6.2.1 界面设计 (29)6.2.2 编写代码 (30)6.2.3 运行结果 (30)7 三维分析开发指南 (31)EV-Globe Web版二次开发教程7.1三维分析功能简介 (31)7.2三维分析功能开发示例 (32)7.2.1 三维采点 (32)7.2.2 距离量测 (33)7.2.3 面积量测 (33)7.2.4 通视分析 (34)7.2.5 挖填方计算 (34)7.2.6 点源淹没分析 (35)7.2.7 面源淹没分析 (35)7.2.8 高度测量 (36)7.2.9 坡度分析 (36)7.2.10 断面分析 (37)7.2.11 等高线分析 (38)7.2.12 雨雪效果 (38)8 矢量地图开发指南 (39)8.1W EB M AP S QL Q UER Y C ONTROL控件 (39)8.1.1 简介 (39)8.2W EB M AP R ESULT C ONTROL控件 (40)8.2.1 简介 (40)8.3开发示例 (40)8.3.1 设置界面 (40)8.3.2 加载远程地图 (42)8.3.3 基本查询操作 (42)8.3.4 清除高亮 (44)高级篇 (45)9 自定义添加对象 (46)9.2开发示例 (46)9.2.1 添加文件夹 (46)9.2.2 添加点 (47)9.2.3 添加线 (48)9.2.4 添加面 (49)9.2.5 添加dae模型 (51)9.2.6添加x模型 (52)9.2.7添加骨骼动画模型 (54)9.2.8添加图像覆盖层 (54)9.2.9添加网络连接 (56)9.2.10添加管线 (57)9.2.11管线液体流动控制 (58)10 模型移动 (61)10.2开发示例 (61)10.2.1 模型移动 (61)11 综合示例 (64)12 结构说明 (65)EV-Globe Web版二次开发教程11.1G LOBE C ONTROL控件结构 (65)11.2W EB G LOBE C ONTROLS控件结构 (67)EV-Globe Web版二次开发教程EV-Globe Web项目架构主要分为三部分:GlobeControl、WebGlobe、WebGlobeControls。
osgearth源代码中各个sample案例详解
![osgearth源代码中各个sample案例详解](https://img.taocdn.com/s3/m/bd78d89e48649b6648d7c1c708a1284ac950051a.png)
osgearth源代码中各个sample案例详解英文版详解OSGEarth源代码中的各个Sample案例OSGEarth, an open-source geospatial visualization library, offers a range of sample cases to demonstrate its capabilities. These samples not only showcase the functionality of OSGEarth but also provide valuable insights into how the library can be used in real-world scenarios. In this article, we delve into each of the sample cases in the OSGEarth source code, explaining their purpose, implementation, and key learnings.Sample 1: Basic Map VisualizationThis sample demonstrates the basic functionality of loading and displaying a map using OSGEarth. It covers the steps involved in initializing the library, loading a map layer, and rendering it on the screen. Key takeaways include understanding the core components of OSGEarth and how to set up a basic map visualization pipeline.Sample 2: Interactive Map NavigationThis sample extends the basic map visualization by adding interactive navigation features such as panning, zooming, and rotating the map. It highlights the ease with which OSGEarth integrates user interaction and demonstrates how to handle map navigation events programmatically.Sample 3: Geospatial Queries and AnalysisThis sample demonstrates the geospatial querying and analysis capabilities of OSGEarth. It covers techniques such as querying for features within a specific area, calculating distances and areas, and performing spatial joins. This sample highlights the power of OSGEarth in geospatial data analysis and processing.Sample 4: Integration with External Data SourcesThis sample demonstrates how OSGEarth can be integrated with external data sources such as shapefiles, KML files, and databases. It covers the steps involved in loading and displaying data from these sources within the OSGEarth framework. Thissample is essential for those looking to integrate their own geospatial data into OSGEarth applications.Sample 5: Advanced Visualization TechniquesThis sample showcases advanced visualization techniques such as layer styling, symbology, and animations using OSGEarth. It covers techniques to enhance the visual appeal of maps and improve user engagement. Developers interested in creating visually appealing and engaging maps will find this sample particularly useful.In conclusion, the samples in the OSGEarth source code provide a comprehensive overview of the library's capabilities and offer valuable insights into its usage. From basic map visualization to advanced visualization techniques and integration with external data sources, these samples cover a wide range of scenarios and use cases. Developers and enthusiasts alike can benefit from exploring these samples and applying the knowledge gained to their own geospatial visualization projects.中文版详解OSGEarth源代码中的各个Sample案例OSGEarth是一个开源的地理空间可视化库,提供了一系列示例案例来展示其功能。
基于Google Earth 二次开发的关键技术
![基于Google Earth 二次开发的关键技术](https://img.taocdn.com/s3/m/3263c451ec3a87c24128c446.png)
基于Google Earth 二次开发的关键技术在过去的几十年时间里GIS行业一直作为一种专业学科局限在狭窄的专业领域里默默发展,直到“谷歌地球”的出现才第一次让GIS服务走进公众。
“谷歌地球”最大的颠覆性在于其是一个完全开放的、优秀的地图平台,不仅提供优异的地图数据而且其中数据还无须自己维护,同时向外提供了开发的API接口,能够基于API实现控制地图显示,操作地图要素等功能,因此开发人员在应用程序中加上自己的业务代码,完全可以构架一个满足日常需求的普通GIS系统。
标签:Google Earth KML API 二次开发一、Google Earth 二次开发技术Google Earth是Google 公司开发的虚拟地球软件,其采用的3D技术将卫星影像推向一个新的水平。
Google Earth提供的地图影像数据主要通过卫星或航空器获取。
其卫星影像部分来自于美国DigitalGlobe公司的QuickBird(捷鸟)商业卫星影像与EarthSat公司(,美国公司)的LANDSAT-7卫星影像,航拍影像部分来源有BlueSky公司(,英国公司,以航拍、GIS/GPS相关业务为主)、Sanborn公司(,美国公司,以GIS、地理数据、空中勘测等业务为主)等。
针对Google Earth 的开发主要有两种方式,一种是基于Google Earth的COM API,一种是基于KML对象。
基于COM API的开发方式主要用来控制Google Earth的视角、实现某一些特定的效果,而基于KML对象的开发方式主要用来生成地理要素,实现数据的动态更新等。
在实际应用中,为得到相对较为理想的效果,需要结合以上两种开发方式。
1.Google Earth Com Api组件对象模型(Component Object Model,COM)是由微软定义的接口标准,COM组件可以是WIN32动态链接库(DLL),也可以是以可执行文件形式发布的代码(EXE),其主要特点即可以动态加载。
融合Google+Earth的无人机遥控遥测地面站设计
![融合Google+Earth的无人机遥控遥测地面站设计](https://img.taocdn.com/s3/m/2542631703020740be1e650e52ea551810a6c927.png)
计算机系统应用 2014 年第23卷第 5 期54系统建设System Construction融合Google Earth的无人机遥控遥测地面站设计①叶文辉, 王琪, 马璐(南昌航空大学信息工程学院, 南昌330063)摘要: 针对无人机飞行监测和控制的要求, 设计了一款飞行监测和控制的无人机遥控遥测地面站系统软件. 无人机遥控遥测地面站系统软件包括系统调试、航迹规划、飞行监测、视频捕捉和数据回放等功能模块, 融合Google Earth COM API二次开发技术基础上运用Visual C++6.0作为系统开发环境, 采用模块化理念并嵌入串口通信技术、虚拟航空仪表技术、视频捕捉技术等进行软件开发.关键词: 无人机遥控遥测地面站; 航迹规划; Google Earth; 串口通信Design of UA V Remote Telemetry Ground Control Station Using Google EarthYE Wen-Hui, WANG Qi, MA Lu(College of Information Engineering, Nanchang Hang Kong University, Nanchang 330063, China)Abstract: According to the requirement of flight monitoring and control of UA V, this paper put forward a design of UA V remote telemetry ground control station software. The UA V remote telemetry ground control station software, which consists of five parts including system debugging, route planning, flight monitoring, video capturing and data replaying. Based on Google Earth COM API secondary development and Visual C++6.0 development environment, it uses modular design concept, serial communication, virtual aviation instrument, and vedio capturing technology to develop.Key words: UA V remote telemetry ground control station; route planning; Google Earth; serial communication1引言由程控方式或无线电遥控设备操纵的可重复使用, 机上无人驾驶, 由动力驱动的飞行器即无人驾驶飞行器, 简称无人机(UA V, Unmanned Aerial Vehicle). 与有人驾驶飞行器相比, 无人机具有零人员伤亡、续航能力强、训练维修成本低、经济实用等独特优势, 在军用领域和民用领域都具有广阔的发展前景[1].无人机遥控遥测地面站系统主要实现遥测数据的显示、记录和回放, 不定时通过地面遥控设备发送遥控指令或者程控方式等进行飞行控制, 辅助地面操纵人员对无人机飞行状态及机载设备工作状态等进行实时监控, 紧急情况下及时采取应对措施保证无人机的安全和任务的执行, 充分发挥程控的自主性和地面操纵人员的经验优势性, 有效减少了地面操控人员的工作负担和人为因素造成的损失.①收稿时间:2013-09-23;收到修改稿时间:2013-10-162系统软件界面设计2.1 系统总体设计本无人机遥控遥测地面站软件系统是集飞行监测、地图导航与航迹规划、视频捕捉、数据回放、系统调试功能于一体的综合系统, 系统结构如图1所示.图1系统结构图2014 年 第23卷 第 5 期 计 算 机 系 统 应 用System Construction 系统建设 55无人机与地面站间通过无线通信链路进行数据交互, 采用CCSDS 标准数据系统保证通信质量, 地面遥控遥测地面站系统软件主要功能是实时接收来自无人机下传的遥测数据(包括无人机飞行状态数据及机载设备工作状态数据), 解析后进行数据存储、显示; 根据地面操作人员及程控指令不定时向无人机发送遥控 指令控制无人机按照预设状态进行飞行. 2.2 系统调试系统调试功能模块主要实现无人机飞行前, 测试无人机与地面站通信工作是否正常, 以及发送航点信息功能, 主要用于无人机系统前期设计、无人机起飞前地面站系统测试以及故障检查等方面, 系统调试模块流程框图[2]如图2所示. 图2 系统调试设计流程框图系统实现在线设置通信端口、波特率、奇偶校验位、停止位; 设置是否采用定时发送数据方式以及定时时间间隔; 设置不同的发送、接收数据格式及清除发送缓冲区数据、清除接收缓冲区数据等功能. 2.3 飞行监测飞行监测功能模块包括飞行状态监控和地图定位保存两部分, 飞行状态监控实现以仪表和数据两种方式实时监测当前无人机的飞行状态及任务设备的工作状态, 通过读取串口接收缓冲区获取无人机飞行状态及机载设备工作状态等遥测数据, 经过解析显示在航空仪表控件上和以数据的形式显示在编辑框中; 地图导航通过Google Earth COM API [3]技术实现启动Google Earth 客户端, 在线浏览世界地图, 可根据不同的用户需求选择相应的方式进行定位: 以KMZ/KML 方式进行锁定位置、根据具体经纬度进行定位并可实现保存定位图片等功能. 2.3.1 飞行状态监控飞行状态监控区包括仪表监控区和数据监控区, 将串口的数据以仪表和数据的形式进行实时显示, 数据监控区主要是将捕获的数据显示在编辑框中, 虚拟航空仪表主要通过构造类进行模拟, 将仪表类加载至Picture 控件上, 完成表盘、指针、刻度值、数值范围、主刻度、子刻度等属性的设置, 同时将串口接收的数据以仪表的形式进行显示. 如图3和图4所示:图3 仪表监控区图4 数据监控区关键代码如下:COLORREF m_colorNeedle2 = RGB(255, 128, 128);m_Meter2.SetNeedleColor(m_colorNeedle2); m_Meter2.SetColorTick(TRUE); m_Meter2.SetRange(0,100); m_Meter2.SetScaleDecimals(0); m_Meter2.SetValueDecimals(1);设置串口号、传输速度、校验位、数据位、停止位、自动发送时间间隔选择发送数据和接收数据类型开始接收手动发送自动发送根据设置进行数据发送处理根据设置进行数据接收处理开始串口调试串口调试结束计 算 机 系 统 应 用 2014 年 第23卷 第 5 期56系统建设System Constructionm_Meter2.SetTicks(10); m_Meter2.SetSubTicks(5); CString str2="高度(*100米)"; m_Meter2.SetUnits(str2); m_Meter2.UpdateNeedle(0.00f);SetDlgItemText(IDC_EDIT25,theApp.m_nReceive String.Left(5).Right(2));strVal2=theApp.m_nReceiveString.Left(5).Right(2); 2.3.2 地图定位保存根据指定的经纬度信息, 通过传递SetCameraPar- ams()函数, 如图5所示. 客户端完成定位操作通过GetPathName()函数获取文件路径, 然后通过SaveScre- enShot()存储图片路径, 以便打开定位后的图片.图5 定位指定经纬度部分代码如下: CString File_Path;FileDialog fileDlg (FALSE,_T(""), _T(""), OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,_T("(*.JPG)|*.*||"));if(fileDlg.DoModal()==IDOK){theApp.m_geApplication.SaveScreenShot(File_Pat h,100);} 2.4 航迹规划航迹规划[4]的整个工作过程可分为两个阶段: 离线地面整体航迹规划与在线实时航迹再规划. 离线地面整体航迹规划是在UA V 飞行前进行, 依据预先确定的各种地形、障碍、威胁、飞行任务等环境信息, 通过遗传算法在整个规划空间中规划出满足连通性的引导点集并根据引导点集规划出从起始位置到目标位置的局部规划连通域, 规划满足要求的最优初始航迹, 然后UA V 沿着该航迹飞行同时探测环境信息; 在线实时航迹再规划是在UA V 飞行过程中进行, 若发现新威胁, 综合当前的飞行状态和实时侦察到的实时威胁信息, 通过遗传算法和稀疏 A*搜索(Dynamic Sparse A* Search, DASA)算法组合优化算法, 对离线得到的参考航迹进行局部实时修正, 在连通域内规划出满足要求的可行最优航迹; 将获取到的实时航迹传送至飞控系统, 完成飞行任务, 实现威胁的有效回避. 图6为遗传算法与DASA 组合优化算法的三维仿真结果.图6 三维航迹规划图为了实时显示绘制航线时航点经纬度等信息, 建立航点表; 无人机完成任务之后, 为了实现飞行过程回放、分析等, 将飞行航线信息进行保存; 为了更加直观的展示绘制航线时地图相关信息, 在状态显示区实时显示鼠标当前位置的经纬度信息及位置信息, 以此来确定绘制目标航路点, 同时显示当前时间, 图7为软件绘制航线界面.图7 绘制航线2014 年 第23卷 第 5 期 计 算 机 系 统 应 用System Construction 系统建设 57CreateDispatch()程序启动成功IsInitialized()IsOnline()未初始化则继续判断初始化和连接操作都未完成,则创建客户端NONOYESYES已经初始化已经连接上服务器开始2.5 视频捕捉视频捕捉功能利用VFW 编程接口, 可以捕捉云台摄像头回传的图像信息. 通过控制UA V 云台对准目标单位, 对摄像头进行初始化后, 即可进行视频预览. 可实现单帧图像的捕捉, 当需要航拍时可随时开启录像功能, 即能实现视频的保存. 部分代码如下:m_hWndCap=capCreateCaptureWindow("capture window",WS_CHILD|WS_VISIBLE,0,0,352,288,m_wn dSource.m_hWnd,0);capSetCallbackOnVideoStream(m_hWndCap,(FAR PROC)VideoCallbackProc);capDriverConnect(m_hWndCap,0); capPreviewRate(m_hWndCap,50); capPreview(m_hWndCap,bpreview); 2.6 数据回放数据回放功能实现航迹的动态回放, 动态回放功能设计机制是将定时器与航点信息一一送至动态回放时动态移动的无人机位图point, 引起窗口的重绘实现航迹的动态重现, 在动态回放模块可以实现启停控制、加速播放、减速播放功能, 同时系统实现了在航迹回放时显示当前航迹中所有航点的经纬度高度信息, 具有友好的人机交互界面, 如图8所示:图8 动态回放3 关键技术Google Earth 客户端软件为用户提供两种扩展口, 一种是KML(Keyhole Markup Language)文件形式, 另一种是组件(COM)API [5]形式, Google Earth 二次开发的系统构架如图9所示, 本文采用COM API 接口形式.Google Earth 客户端是基于组件技术, 包括11个类的类库: IApplicationGE 、ICameraInfoGE 、IFeatureGE 、IFeatureCollectionGE 、IPointOnTerrainGE 、IViewExtentsGE 、ISearchControllerGE 、ITourController- GE 、IAnimationControllerGE 、ITimeGE 、ITimeInterval- GE, 其中IApplicationGE 作为Google Earth COM API 入口类, 也最为重要. 要在地面站中嵌入Google Earth, 首先需要完成客户端的初始化. 启动客户端流程图[4]如图10所示: 程序中通过IsInitialized()和IsOnline()函数进行判断, 用户是否启动了客户端并连接上Google Earth 的服务器. 如果未启动和连接, 则调用COM 库函数CreateDispatch()创建Google Earth 客户端的实例.图9 基于Google Earth 的GIS 系统架构图10 启动客户端流程图4 结论在VC++平台上, 运用Google Earth 二次开发等技术实现本成果. 实时存储航迹规划时航点信息以便事后进行分析和回放, 以仪表和数据两种方式实时显示无人机飞行姿态信息等功能, 有效地辅助地面操作人员对无人机进行飞行监控, 保证无人机的安全及任务高效完成. 在工业和信息化部制定《民用航空工业中长期发展规划(2013-2020年)》鼓励发展无人机的背景下, 深入研究无人机地面站控制技术具有非常积极的计 算 机 系 统 应 用 2014 年 第23卷 第 5 期58系统建设 System Construction意义和良好的工程应用前景. 参考文献1 房建成,陶冶,于歌.空战新兵:无人机与战争.广州:花城出版社,2010:1−13.2 谭思亮,邹超群.Visual C++串口通信工程开发实例导航.北京:人民邮电出版社,2003:73−127.3 江宽,龚小鹏.Google API 开发详解:Google Maps 与Google Earth 双剑合璧.北京:电子工业出版社,2008:229−466.4 郑昌文,严平,丁明跃,苏康.飞行器航迹规划研究现状与趋势.宇航学报,2007,28(6):1441−1446.5 蒋才明,唐洪良,陈贵,黄肖宁:基于Google Earth 的输电线路巡视无人机地面站监控系统.浙江电力,2012,31(2):5−8.6 唐强,朱志强,王建元.国外无人机自主飞行控制研究.系统工程与电子技术,2004,26(3):418−421.7 王强,杨胜荣,贾致红.某型无人机飞行控制系统.四川兵工学报,2009,30(2):82−85.融合Google Earth的无人机遥控遥测地面站设计作者:叶文辉, 王琪, 马璐, YE Wen-Hui, WANG Qi, MA Lu 作者单位:南昌航空大学信息工程学院,南昌,330063刊名:计算机系统应用英文刊名:Computer Systems & Applications年,卷(期):2014(5)本文链接:/Periodical_jsjxtyy201405009.aspx。
01.igserver地图显示实例开发篇
![01.igserver地图显示实例开发篇](https://img.taocdn.com/s3/m/f500326aa98271fe910ef908.png)
1.2 二次开发架构
Web应用
JavaScript
客户端 服务器端.NET
JavaScript+FlexAPI
封装好的服务接口(DLL)
MapgisWebService MapGIS K9 IMS GIS服务
MapGIS K9 平台
(数据存储服务)
数据库
GDB GDB 空间 分析 点位 信息 其他
图 1-1 二次开发架构 数据库层:包括空间数据库与属性数据库,支持 SQL、Oracle 等商用数据库。其
图 1-2 .NET 二次开发 SDK (2)客户端:应用平台提供的核心脚本库,主要为 IMSMaps.js,还包括其他的配置库、 扩展库,可直接从示例站点(MWSFullDemo)中拷贝。
.2.
地图显示实例开发篇(Map)
图 1-3 脚本库 纯 JS 的.NET 二次开发,以简便的二次开发集成服务接口、灵活的程序开发方式,为您 提供一条便捷的二次开发通道。在已有知识储备的基础上,借助平台提供的综合示例站点, 将引领你快速实现项目需求,体验 WebGIS 世界的奇妙。
MapGIS K9 IMS 地图显示实例开发篇 (DNET+JS)
目 录 第一章 二次开发简介
1.1 二次开发概述.................................................................................................................... 1 1.2 二次开发架构.................................................................................................................... 1 1.3 二次开发方式.................................................................................................................... 2 1.4 二次开发特点.................................................................................................................... 3
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
KML文件格式转换成Mapinfo,excel 多个版本(C#, VC++,VB,易语言,Delphi,汇编版本)/showtopic-373324.aspx
/user_show/uid_%e5%a4%a9%e4%b8%8b%e4%b9%8b%e5%a4%a7%e5%a5%87相关视频教程 件处理专家发布超级震撼GOOGLE EARTH空战游戏说明下载(10M不到):/filedown_26373.html
OOGLE EARTH沿线路提取高程专业版本视频教程/showtopic-378321.aspx
KML纠偏、加偏完美版本/showtopic-378262.aspx
卫星影像自动识别,可自动识别房屋道路和水域等(人工智能)/showtopic-377959.aspx
长江干流水系MAPINFO格式矢量图/showtopic-378826.aspx
利用GOOGLE EARTH轻松制作MAPINFO高精度电子地图/showtopic-378727.aspx
在GOOGLE EARTH中快速创建3D虚拟城市/showtopic-378392.aspx
在GOOGLE EARTH软件中随意涂鸦和专业制图下载地址:/fileview_5392.html
谷歌地球卫星地图下载器自动拼接软件/showtopic-379661.aspx
GOOGLE EARTH卫星地图自动矢量化研究(自主知识产品软件)/showtopic-379587.aspx
GE地标点KML转换程序再次升级!可转EXCEL,MAPINFO格式,MIF,MID格式(免费旧版本,有串行,数据不可靠)
/showtopic-370919.aspx
这个软件是我的毕业论文有关的软件,有很大应用价值。它可以灵活自动的读取和转化KML程序,不但可以一个一个分析,还可以批量读取,有自动搜索功能,可灵活选择参数。此软件只是试用版功能,某些功能已限制。但应用也很强大。限制版可以实现KML文件读取转化成EXCEL格式。加强版的功能可以实习KML文件的多种GIS格式转化,如转成MID,MIF的MAPINFO格式.还有MAPSHAD,GPS格式等.以及各种数据库格式,ACCESS数据库格式,MSQL等.欢迎大家与我交流 如果想要有更多功能,请联系作者。QQ:254949713 邮箱:SAME999@ 版权所有,商业应用请联系我.
EXCEL,KML互转修改加导航/showtopic-371924.aspx
最新KML网站地理数据挖掘机(增加下载图片功能) /showtopic-373324.aspx
EXCEL转网页表格完美插入KML并显示
键盘操作GOOGLE EARTH实时更新之大陆漂移学说/showtopic-378885.aspx
基于GOOGLE EARTH实时动态地理信息系统,动态的KML数据交互显示/showtopic-378851.aspx
其它汇总:
KML文GE地标点KML转换程序再次升级!可转EXCEL,MAPINFO格式,MIF,MID格式/showtopic-370919.aspx
KML网站地理数据挖掘机/search.aspx?type=author&searchid=15262
GOOGLE EARTH模拟GPS导航/showtopic-371384.aspxGOOGLE EARTH模拟GPS导航升级了!/showtopic-371399.aspx
GE新闻地理信息定位软件/showtopic-371430.aspx
GOOGLE EARTH高程信息提取软件/showtopic-376962.aspx
GOOGLE EARTH电力信息系统行业运用(软件生成,完美效果)/showtopic-377855.aspx
视频专辑:/playlist_show/id_3569022.html
EXCEL转KML专家/showtopic-379412.aspx
虚拟仿真(动态3D河流)/showtopic-37932算法)/showtopic-378954.aspx
仿GE玩转地球(自编的)/showtopic-371541.aspx
GE地理信息系统升级了/showtopic-371683.aspx
KML编程转换参考论文/showtopic-371851.aspx