当前位置:文档之家› google地图学习手册

google地图学习手册

google地图学习手册
google地图学习手册

https://www.doczj.com/doc/4416155692.html,/article/58.htm

这里的Google Earth API(本文的Google Earth API和最新Google Earth API概念不同,前者是windows 程序以COM接口开发,目前的Google Earth API是通过Google Earth 插件在浏览器理开发的API 函数,本文主要是讲windows 程序以COM接口开发)不同于GoogleMAP API:大家可能对于GoogleMAP API有一些印象了而且网上对于GoogleMAP API的应用也有很多比如https://www.doczj.com/doc/4416155692.html,/那么什么是GoogleEarth API呢?GoogleEarth API能作什么呢?下面我就结合我编的一些东西讲讲GoogleEarth API

Google Earth API Keyhole 1.0 Type Library当你要使用GoogleEarth API时首先要在工程里引用他,以VB为例,在“工程”菜单中选择“引用”,如果你已经安装了GoogleEarth,那么引用栏里会有“Keyhole 1.0 Type Library ”而它是定位于GoogleEarth 的主程序的。引用完毕后,打开对象浏览器,你就可以看到GoogleEarth API的类和函数及属性了!!

GoogleEarth API有4个类,每个类下面有多个函数及属性下面将我常用的函数的说明写到下面:

Class KHFeature

Property hasView As Long 只读

暂时还不知道什么意思,没用过,哪位高手能给个解释

Property visibility As Long 地标的可视选项

Class KHInterface

Property autopilotSpeed As Double

GE的自动飞行速度

Function currentView(terrain As Long) As KHViewInfo GE的当前视图

Property currentViewExtents As KHViewExtents 只读Function getFeatureByName(name As String) As KHFeature Function getPointOnTerrainFromScreenCoords(screen_x As Double,

screen_y As Double) As Double()

Sub LoadKml(kmlData As String) 导入KML字符串,不支持中文

Sub OpenFile(fileName As String) 打开地标文件

Sub QuitApplication() 退出程序

Sub SaveScreenShot(fileName As String, quality As

Long)

保存截图

Sub setFeatureView(feature As KHFeature, speed As Double) Sub SetRenderWindowSize(width As Long, height As Long) Sub setView(view As KHViewInfo, terrain As Long, speed As Double)

用KHViewInfo设置视角范围

Sub setViewParams(lat As Double, lon As Double, range As Double, _

tilt As Double, azimuth As Double, terrain As Long,

speed As Double)用数值设置视角范围

Property streamingProgressPercentage As Long 只

数据传输进度百分比

Class KHViewExtents

property east As Double 只读

Property north As Double 只读

Property south As Double 只读

Property west As Double 只读

Class KHViewInfo

Property azimuth As Double 方位角

Property latitude As Double 纬度

Property longitude As Double 经度

Property range As Double 范围

Property tilt As Double 倾角

利用这些函数,可以对GE进行部分控制,实现一些小的功能,比如在我的地标管理器中就利用了GoogleEarth API实现了地标的隐藏与显示。

Google公司已经将Google COM API开放,这样我们就可以通过开放的API来对GoogleEarth进行操作了,比如控制当前视图的高度、中心经纬度,保存当前图片等等。下面是Google COM API的网址:https://www.doczj.com/doc/4416155692.html,/comapi/那么,VC程序员如何使用这些API来控制GoogleEarth呢?下面我们编写一个简单的程序来说明对Google COM API的使用。

源代码下载点击下载此文件

首先用VC建立一个基于Dialog的工程(这个不用教了吧?),工程名为ControlGe,工程建好后,下面就是把Google提供的类添加到工程里边来。

Ctrl+W,打开类向导页面,点击“Add Class”按键,选择“From a type

library”,然后到安装GoogleEarth的目录下,找到googleearth.exe文件,点击“打开”按键。

这时会弹出一个框来确认产生Google的类,直接点击“OK”键,这

是会生成两个文件加入的工程中:googleearth.h和

googleearth.cpp,里面就是我们想要的类了。

GoogleEarth的类已经生成了,那我们如何来用它们呢?各位看客不用着急,我们一步步来。

首先,我们得调用一下::CoInitialize(NULL);初始化一下COM库了,这个函数可以在ControlGe.cpp文件中的InitInstance()函数里面调用。

然后呢,我们再在ControlGeDlg.h中定义一个类成员变量:IApplicationGEm_geApplication;

顺便说一下,IApplicationGE可是Google COM

API最主要的一个接口了,从它提供的操作数量就可以看得出来。

好了,离成功不远了,控制的变量也定义了,下面就开始用它来控制GE吧。

那么我们如何将刚定义的变量取得对GE的控制权呢?费话少说,首先在ControlGeDlg.cpp文件中定义一个变量:

static const CLSID CLSID_ApplicationGE =

{0x8097D7E9,0xDB9E,0x4AEF,

{0x9B,0x28,0x61,0xD8,0x2A,0x1D,0xF7,0x84}};

然后在OnInitDialog()中加入以下代码:

m_geApplication.CreateDispatch(CLSID_ApplicationGE);

呵呵,现在GE就归你操控了!

我们试着做个简单的操作吧,添加一个按键,然后添加按键的点击处理函数,在函数中加入以下代码:

CStringstrFileName;

static char BASED_CODE szFilter[] = "jpg Files (*.jpg)|All Files

(*.*)|*.*||";

CFileDialogdlgFile(FALSE, "jpg", NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, this);

if (dlgFile.DoModal() == IDOK)

{

CWaitCursor wait;

strFileName = dlgFile.GetPathName();

m_geApplication.SaveScreenShot(strFileName, 100);

试试看,这是将当前GE的地图给保存成一个jpg格式的图片,只可惜只能保存成黑白图片,google还是给自己留了一手的。

可能上面的代码运行会有些问题,也许是你的GE版本太低了,也许是你的Google

COM未注册,注册一下就可以了,Google对注册的说明:

If, for some reason, the Google Earth COM API needs to be registered

again, you can execute GoogleEarth.exe with "/RegServer" as a command

line argument.

For instance, assuming GoogleEarth.exe is located in

C:\Program

Files\Google\Google Earth, the following command line would register Google

Earth's COM API:

"C:\Program Files\Google\Google Earth\googleearth.exe"

/RegServer

To unregister Google Earth's COM API, execute the following command:

"C:\Program Files\Google\Google Earth\googleearth.exe"

/UnregServer

好了,我们下面就可以对照Google COM

API的文档来试一试对GE的控制操作了。下面我再来演示一下如何把视图切换到指定地方,添加如下代码:ICameraInfoGEgeCamera;

geCamera.AttachDispatch(m_geApplication.GetCamera(TRUE)); geCamera.SetRange(800);

geCamera.SetFocusPointLongitude(113.972522);

geCamera.SetFocusPointLatitude(22.561294);

m_geApplication.SetCamera(geCamera, 1.5);

执行以上代码后,GE就会将视图切换到。。。嘿嘿,到俺家了。。。

OK,我要下班回家了,就写到这儿吧,其它功能大家对照着google

的文档再试试,要是谁知道上传附件的方法,麻烦告诉我一下,我把上面示例的代码上传上来。

去年,水手版主给大家介绍过GE的API,详贴见这里,本贴对KHInterface 就不做过多说明了:

https://www.doczj.com/doc/4416155692.html,/Announce/Announce.asp?BoardID=100&ID= 21506

从GE API的官网上看,现在这些API已经更新了,原来大家使用的KHInterface 这个主类,现在已经基本被 ApplicationGE 这个主类给取代了。GE API的官网:

https://www.doczj.com/doc/4416155692.html,/comapi/index.html以https://www.doczj.com/doc/4416155692.html,为例(下同),使用GE的API还是很简单的,在你打开的项目中,选择项目--添加引用,然后找到 GoogleEarth.exe 选择添加,就会在你的Debug 目录下生成一个 Interop.EARTHLib.dll 。你还可以通过视图--对象浏览器来查看它的组成情况。

主要有以下五个类:

ApplicationGE 主类,基本操作都在这里,比 KHInterface 更非丰富,但少了两个重要的函数,CurrentView(当前的视角),SetView (设置视角,比如打开GE时可以定位到指定的视角)

FeatureGE KML的标签类

FeatureCollectionGE 标签集类,是 FeatureGE 集合。

ViewExtentsGE (只读)边界集类,可以获得当前屏幕内四个边的经纬度值。

CaremaInfoGE 拷屏类,但目前没啥大用,黑白照片。

此外还有几个比较重要的类:

AnimationControllerGE 针对TimeStamp时间轴的,可以播放、暂停等。

PointOnTerrainGE

根据屏幕的点获得的经纬高度值就放在这个类里,可以看作一个数组。

SearchControllerGE 查询GE内置地址库的查询类(不是查KML文件的)

其他的还有,大家可以一起研究一下。介绍失误的地方,请大家及时指正。

程序调用:

1、Imports EARTHLib

需要在 Public Class Form 之前声明引入。

2、Public khapp As EARTHLib.ApplicationGE

在 Form 内定义,本人一般定义为全局,方便使用。

3、khapp = New ApplicationGE

在按钮事件内首先要赋值为

New,每次都需要,否则容易出问题。如果找不到,返回值是IsNothing()=True,其他的类也相同,为防止程序出错,找不到时可用

IsNothin进行判断处理。

4、为防止出现错误,可以用 Try 进行错误截取,使用 ex.tostring 获得错误信息,然后在 Catch 后面 return 。

下面开始介绍 FeatureGE 类的函数、方法或者值:

Function GetChildren() As EARTHLib.FeatureCollectionGE

标签的包含的子标签,返回值定义到 FeatureCollectionGE 中(多个)

Function GetParent() As EARTHLib.FeatureGE 标签的父标签(单个)

ReadOnly Property HasView() As Integer 终于搞清楚这是什么了,其实就是

,如果没有这个属性,HasView

=0,有就是1。没有时GE是不会自动导航到你指定的地标,即使你已经找到了它,在这种情况下,至今没找到好方法通过API导航到已找到的地标。这是本人觉得Google最可恶的地方,其实在GE中,不管你有没有

,无论你是目录还是

地标,它都会以最合理的方式包含其中的所有地标。大家大概没多少人习惯加上这个

,所以在调用时就会出现有时成功,有时不成功,让人恼火不已。

ReadOnly Property Highlighted() As Integer 和 Highlight 加亮

ReadOnly Property Name() As String 标签的Name值

ReadOnly Property TimeInterval() As EARTHLib.TimeIntervalGE 没仔细研究,大概跟定时有关系

Property Visibility() As Integer 比较有用的值,对应于KML中的

,0不显示,1显示。

ApplicationGE 主类:

Property AutoPilotSpeed() As Double

从一个地标转到另一个地标时的速度,从0--5,默认只有 0.119

Property ElevationExaggeration() As Double

和GetPointOnTerrainFromScreenCoords有关

Function GetFeatureByHref(ByValhref As String) As EARTHLib.FeatureGE

就是 ,这个id的值test就是Href,String= 包含路径的文件名#test(跟网页里查tag的方法相同),具有唯一性,但估计没多少人喜欢写这个id,所以还是好看不好用。也没测

试出来没有的情况下GE是如何保证"唯一"的。

Function GetFeatureByName(ByVal Name As String) As EARTHLib.FeatureGE

目前只能用这个,但这个又不具有唯一性,如果两个名称相同,永远只能找到第一个。这是GE的第二个可恶之处,这么方便的功能,如果放到

FeatureCollectionGE 里,那该多好啊,就可以继续查询"下一个"了。

Function GetHighlightedFeature() As EARTHLib.FeatureGE 没发现什么用途

Function GetLayersDatabases() As

EARTHLib.FeatureCollectionGE

获得GE左下角的数据库,这次总算放到标签集里去了

Function GetMainHwnd() As Integer 和 Function GetRenderHwnd() As

Integer ,前一个是主程序的句柄号,后一个是 GE视窗

的句柄号。Google挺好玩的,连这个都老老实实地告诉大家了,连Spy++都省了,呵呵。

Function GetTemporaryPlaces() As EARTHLib.FeatureGE

GE临时目录,可以通过 GetChildren() 继续查找打开文件的名字等。

Function GetMyPlaces() As EARTHLib.FeatureGE GE里我的目录,用途同上。

Function GetPointOnTerrainFromScreenCoords(ByValscreen_x As Double,

ByValscreen_y As Double) As EARTHLib.PointOnTerrainGE

给出屏幕的点X,Y坐标,转成经纬高三个坐标值,ElevationExaggeration为0时高度为0,为1时高度为实际值。

更正计算公式,终于可以得到准确的X、Y点坐标了,跟地图下面标的一模一样了:

X、Y代表装GE的控件的本地坐标(相对坐标),不是屏幕的绝对坐标,可以通过

PointToClint

函数获得装GE控件的X、Y坐标,然后转换成GE要求的平面坐标系的坐标值,和屏幕坐标值相比,Y轴的算法是相反的,也就是说,GE 的坐标系,是以GE地球界面的中间点为原点(0,0),X轴从-1到+1,Y轴从-1到+1,公式转换如下:

( X - Width/2 ) / Width * 2

( Hight/2 - Y ) / Hight * 2

注:X、Y均是从0开始计算,然后到Width或者Hight -1 为最大值。

(原来是从以前地方借来的,发现是错误的:-1到1计算公式大概是:(X-Width/2)/Width (Y-Hight/2)/Hight)

Sub HideDescriptionBalloons() 和 Sub ShowDescriptionBalloon(ByVal

feature As EARTHLib.FeatureGE) 打开/隐藏地标描述,一般和下面的

SetFeatureView 配合使用。

Function IsInitialized() As Integer 是否初始化

Function IsOnline() As Integer 是否连上GE

Sub Logout() 和 Sub Login()

登陆或者退出,不会提示关闭前存盘临时文件(好象其他地方有参数可以设置,忘了)。GE的第三个可恶之处:临时文件没办法清除,只能设置Visibility=0,但如果有名称重叠的话,那你就只能找到第一个地标。如果你要彻底清除,就只能先采用个土方法,先退出再登陆。

Sub LoadKmlData(ByRefkmlData As String)

比较有用的功能,导入完整的KML字符串,必须包含从

开始的所有东东,而不能只是一个Placemark什么的。

Sub OpenKmlFile(ByValfileName As String, ByValsuppressMessages As

Integer) 最有用的功能了,导入KML/KMZ文件。后面的参数含义是:1 指不提示,0

提示。就是说如果这个文件已经导入的话,0的时候就会弹出个对话

框,问你是否重新导入。

Sub SaveScreenShot(ByValfileName As String, ByVal quality As Integer) 给个文件名,存黑白照片

ReadOnly Property SearchController() As

EARTHLib.SearchControllerGE 查GE内置数据库用的

Sub SetFeatureView(ByVal feature As EARTHLib.FeatureGE, ByVal speed As Double) 将前面用 GetFeatureByName/Href

找到的地址进行导航,转到这个地标。前面已经介绍了,需要两个判断,一个是 Isnothing,True就不要转;一个是HasView,0就不要转,否则会出错。

ReadOnly Property StreamingProgressPercentage() As

Integer 程序运转的百分比,一般得到的时候都是100%了。

ReadOnly Property TourController() As

EARTHLib.TourControllerGE 大概跟 Tour 有关的控制

ReadOnly Property VersionAppType() As EARTHLib.AppTypeGE GE 版本:EnterpriseClientGE = 0, ProGE = 1, PlusGE = 2, FreeGE =

5, UnknownGE = 0xFF

,咱们都是5

ReadOnly Property VersionBuild() As Integer 版本号4.0.2693

中的2693,和下面两个一起可以拼成一个完整的版本号。

ReadOnly Property VersionMajor() As Integer 和 ReadOnly Property VersionMinor() As Integer 比如4.0.2693前一个指版本号的 4,后一个指 0

ReadOnly Property ViewExtents() As EARTHLib.ViewExtentsGE 比较有用的一个功能,获得四个边的经纬度值。a coarse approximation of what is visible in the 3D view of a Google Earth application (原话),比较粗糙,比当前的边框要大一点点,不知为何。主要就这些了。当然,进入每个功能后,还有许多详细的功能,有待于大家继续发掘了。

纠正一下: CameraInfoGE 这个类很有用,第一贴重大失误啊。

继续介绍 CameraInfoGE 如下(均可以获得值和设定值):

1、FocusPointLongitude、FocusPointLatitude、FocusPointAltitude,记录经度、纬度、高度数据

2、FocusPointAltitudeMode,目前只有 1 (默认)和 2 两种取值,分别对应 KML 格式介绍中的 relativeToGround 和 absolute ,KML 格式中的默认 clampToGround 似乎没有值对应,曾试过0 或者3,

均出现错误。

3、Range 高度(0---8万公里)

4、Tilt 倾斜度,以垂直为 0,最大为90度,即地面的切线为最大值。

5、Azimuth 方位角(-180---180)

#如何获得当前视角:

ApplicationGE.GetCamera(B) B取值True/False或者 1/0也可以,True 更精确。

#如何定义视角:

根据自己的需要,分别定义 1、2、3、4、5,一般其他不变,只变高度就可以实现高度的自由转换。#如何定位到确定的视角(或者恢复到已储存的视角)

ApplicationGE.SetCamera(CameraInfoGE,速度)将前面获得的当前视角或者经过定义的视角赋值给 CameraInfoGE ,即可驱动GE转移到该视角。速度取值

0--5,GE默认0.119。*高级应用:

1、结合 GetCamera 、和 SetCamera

,定义好几个转换地点,并合理调整其中的角度、高度、速度等相应值,再加上时间延迟功能,完全可以做出符合自己要求的

Tour 效果,这时候再结合屏幕拷贝软件,就可以制作出相当棒的演示效果。

Google地图网站简介及功能分析

Google地图网站简介及功能分析 肖亚星 (09251049 运输0902) 摘要:谷歌地图(Google Maps)是 Google 公司提供的电子地图服务,包括局部详细的卫星照片。能提供三种视图:一是矢量地图(传统地图),可提供政区和交通以及商业信息;二是不同分辨率的卫星照片(俯视图,跟 Google Earth 上的卫星照片基本一样);三是地形视图,可以用以显示地形和等高线。谷歌于北京时间2010年11月30日宣布,正式推出最新版地图服务“谷歌地球6.0”(Google Earth 6),新版整合了街景和3D 技术,可为用户提供逼真的浏览体验。 关键词:地图制图学与地理信息工程;谷歌地图;网站简介;功能分析 Google Maps site Introduction and functional analysis Xiao Yaxing (09251049 YS0902) Abstract: Google Maps (Google Maps) is a digital map provided by Google's services, including local detailed satellite photos. Provides three views: one vector map (traditional map), can provide political and commercial areas and traffic information; two different resolution satellite photo (top view, with satellite photos on Google Earth is basically the same); three is the terrain view, can be used to display the terrain and contour. Google in Beijing November 30, 2010 announced the official launch of the latest version of the map service "Google Earth 6.0" (Google Earth 6), new streets and 3D integration technology can provide users with realistic viewing experience. Key words:Cartography and Geographic Information Engineering; Google Maps; site Introduction; functional analysis 一、网站简介 2005年6月20日,Google Maps的覆盖范围,从原先的美国、英国及加拿大,扩大 至全球。

利用Google_Earth高程数据制作地形图

利用Google Earth高程数据制作地形图在地灾危险性评价、土地复垦实施方案等项目中,平面布置图需要地形基本数据,考虑到投成本控制和设计精度要求,可以利用软件提取Google Earth高程数据生成地形等高线代替实地测量地形。 提取Google Earth高程数据原理:Google Earth上每一个点的属性包括地理坐标和高程,投影椭球参数采用WGS84地理坐标系。通过采样所求范围内的坐标点,用三角网剖分的方法自动生成等高线。所以生成等高线的精度跟采样点的间距紧密相关,采样距离越小精度越高。 利用Google Earth数据制作地形图主要分两个步骤:1.地理坐标和高程数据的提取;2.根据提取的数据制作地形图。 一、地理坐标和高程数据的提取 所用软件:Google Earth ,谷歌地球高程数据采集工具(GetGECoords) 下面以GetGECoords为例讲解数据提取过程: 首先需要安装Google Earth。 启动软件后界面如下: GetGECoords提取过程 1.直接运行GetGECoords内存补丁.exe文件,界面如下:

2.点击左边工具栏帮助关于输入任意注册码,完成 注册。 3.点击左边工具栏设置输入所需点的中心纬度、中心经度 和视场范围,确定后右边地图窗口自动搜索至该点点击下一步 刷新,软件自动更新GE地图中心子午线和投影带中心子午线 点击确定后,设置自动采样间距,刷新点击自动采集点。

3.采集完成后点击文件导出数据确定,保存 数据文件。

二、根据提取的数据制作地形图 所用软件:南方CCAS 1.打开南方CCAS,选择绘图处理主菜单点击改变当前图形比例尺,在下边命令行输入成图比例尺,如1000,1:1000比例尺 2. 展高程点,在绘图处理菜单下点击展高程点。

谷歌地图使用方法

Google地球的使用方法: 1、根据经纬度定位地标的方法 在Search面板的FlyTo输入框中,输入一个经纬度,按回车,就可以直接“飞”到那个位置。其间采用的那种动画效果,让我们产生一种遨游地球的奇妙感觉。 2、如何在软件中截图 这里介绍一个简单的截图方法,找到一个画面后,按下“Ctrl+Shift+E”,会出现一个通过电子邮件发送截图的界面,如下图所示,双击附件里那个图片,另存到硬盘上即可。这个图片就是当前的截图。 3、如何导出地标文件 在需要引出的地标文件夹上,用鼠标右键点一下,在菜单中选择“SaveAs”然后输入引出文件名就行了,目前可以导出KMZ和KML两种地标文件格式。 4、KML和KMZ地标文件有什么不同 GoogleEarth有两种类型的地标文件,一种是KML文件,一种是KMZ文件。 KML是原先的Keyhole客户端进行读写的文件格式,是一种XML描述语言,并且是文本格式,这种格式的文件对于GoogleEarth程序设计来说有极大的好处,程序员可以通过简单的几行代码读取出地标文件的内部信息,并且还可以通过程序自动生成KML文件,因此,使用KML格式的地标文件非常利于GoogleEarth应用程序的开发。 KMZ是GoogleEarth默认的输出文件格式,是一个经过ZIP格式压缩过的KML文件,当我们从网站上下载KMZ文件的时候,Windows会把KMZ文件认成ZIP文件,所以另存的时候文件后缀会被改成.ZIP,因此需要手动将文件后缀改成.KMZ。 KMZ文件用ZIP工具软件打开,然后解压缩即可得到原始KML文件。当然,KMZ文件也有自己的好处,就是KMZ文件的自身可以包含图片,这样就可以不依赖引用网络上的图片。 一般情况下,双击KMZ/KML文件即可从GoogleEarth中打开地标文件,但是需要注意的是,KMZ/KML地标文件名不能包含中文字符,文件存放的路径也不能有中文字符,否则将无法在GoogleEarth中打开。 5、如何快速得到一个地标的KML格式 快速得到地标的KML文件内容的方法是,在GoogleEarth中右键点击一个地标,然后点右键,点Copy,然后打开记事本按Ctrl-V即可将该地标的KML内容粘贴到其中。 6、如何测量地图上两点的距离 点击菜单“Tools”-“Ruler”,弹出如下对话框。 此时,点击地球上任意两点,均可计算出两点间的距离(默认单位为英里,其它还有千米、米、厘米、英尺、码等),选择Path还可以测量曲线和折线的距离。 7、如何制作自己的地标 看多了别人制作的地标,自己是不是也觉得手痒呢你有没有想过把自己的住宅、工作单位、自己发现的“有趣的地方”,也做成地标呢

如何通过来访者IP定位google地图

如何通过来访者IP定位google地图 随着国内各大品牌门户网站纷纷推出地图服务,如搜狗地图,百度地图、网易地图等,地图的应用变得越来越广泛,同时,很多网站管理员都将地图服务加入到自己的网站中,增添不少特色,当然,也给使用的人提供了很多方便。最近本人一时兴起,利用google map api实现了通过来访者的IP定位google地图,同时提供对IP、域名归属地查询服务。国内也有比较多提供地图服务的API,例如:51ditu,mapbar等,选择google map api的原因是其应用的广泛性,而且其最新版本提供了更多更好的功能,不过还处于测试阶段。有兴趣的朋友可以上网搜索一下其相关资料。下面我将如何实现IP定位功能和大家交流一下。 要想使用google map api,首先得获取Google地图API的密钥,获取网址为:https://www.doczj.com/doc/4416155692.html,/intl/zh-CN/apis/maps/signup.html,这一过程中,如果没有google帐户的话,还得注册用户。 获取到密钥之后接着下来利用它实现最简单的hello world网页,google 提供了很多示例,大家可以访问这个网址: https://www.doczj.com/doc/4416155692.html,/intl/zh-CN/apis/maps/documentation/examples/in dex.html查看其示例,想看怎么实现,只要查看相应页面的源代码就可以了。 经过简单的一些复制,粘贴操作,马上就可以在你的网页上增加地图了,呵呵,是不是很简单呢!拥有自己的地图后我们马上实现通过IP定位google地图。实现这个功能之前,我们得先准备些IP数据,假如你没有这些数据怎么办?没关系,我们可以享受免费大餐,国外著名的maxmind公司提供免费的IP地址库和相应的JAVA实现接口程序,大家可以通过链接 https://www.doczj.com/doc/4416155692.html,/app/java进行下载,其免费数据准确率大概是70-80%,如果你想要更准确的数据,可以购买其收费数据,可以准确到90%以上,此外,我们还可以下载到国内著名的IP纯真数据库,准确率比maxmind的数据高多了,而且还是不断更新的,不过只限于国内的IP而言。 上面的都是一些准备的工作,现在是万事具备,只欠编码了,不过编码倒也是小事,按部就班就行了。 第一步,获取来访用户的IP String ip = request.getHeader("x-forwarded-for"); if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("Proxy-Client-IP"); } if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getHeader("WL-Proxy-Client-IP"); } if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) { ip = request.getRemoteAddr(); }

手把手教你做Google Earth等高线地形图

手把手教你做Google Earth等高线地形图 首先声明:该教程只作地图制作技术探讨之用,并不意味作者鼓励侵犯知识产权,或承担任何相关的法律责任。请在学习之余、在下载各种网络材料和软件二十四小时之内即时删除,以免除后患。 本帖虽为“原创”,其实是站在论坛各位大师肩膀上做的一点尝试,首先要感谢他们给我的启发和帮助。 一、“原材料”采购: 网上下载SRTM数据,地址:https://www.doczj.com/doc/4416155692.html,/SELECTION/inputCoord.asp。在世界地图上,先选取你要下载的区域,然后下载Google EarthoTIF数据,下载来的文件是ZIP压缩文件,解压后请不要修改文件名。 SRTM是由美国航空航天局(NASA)、美国国家图像测绘局(NIMA)以及德国与意大利航天机构共同合作完成,2000年2月11日至22日,通过装载于“奋进号”航天飞机的干涉成像雷达近11天的全球性作业,得到了全球表面从北纬60°至南纬56°间陆地地表80%面积和95%以上的人类居住区、数据量高达12Tbit 的三维雷达数据,然后对雷达数据进行相应的处理,生成精度较高的数字高程模型[1,2]。SRTM 这一数字地形数据是迄今为止现势性最好、分辨率最高、精度最好的全球性数字地形数据。目前这些数据是免费供人使用的。 二、寻找所需软件: 首先安装Global Mapper v9,请到下面的网址下载: https://www.doczj.com/doc/4416155692.html,/5z1gKhPK/Down/2007/09B/Global.Mapper.v9.00.zip https://www.doczj.com/doc/4416155692.html,/5z1gKhPK/Crack/2007/09B/Global.Mapper.v9.00-Crack.z ip (破解文件,安装后把压缩文件中的global_mapper9.exe复制到安装文件夹中) 现在,请跟我一起走上制作Google Earth等高线地形图的快乐之旅 启动Global Mapper v9软件

利用Google Earth 制作地形图方法的应用

利用Google Earth 制作地形图方法的应用 徐林军 (江西省核工业地质局二六八大队) 【摘要】随着科技的进步,数字地图在许多领域有着广泛的应用。google earth除能提供详细的地理经纬度、三维立体图外,还提供一项重要数据:海拨高程。这样我们就可以更简便地利用google earth的空间数据来自制地形图。 【关键词】 Google earth数字地图;卫星图片;地形图 随着卫星遥感技术、互联网技术的日新月异,提供高分辨率的卫星影像图成为可能。作为民用的免费卫星影像清晰度也逐渐提高,而传统地图的制作,不仅制作周期长、现势性较差,而且作为国家重要基础地理信息数据必须通过申请缴费才能获得。如何利用现有的免费卫星影像图制作高清晰度的、现势性强的有较高坐标精度的地图,更快捷、更实用的满足野外踏勘工区、勘察、地质等各行各业的需要,本文将针对Google影像地图进行可行性分析,研究获得高精度地图坐标并制作成地形图的具体操作方法。 提取Google Earth高程数据原理:Google Earth上每一个点的属性包括地理坐标和高程,投影椭球参数采用WGS84地理坐标系。通过采样所求范围内的坐标点,用三角网剖分的方法自动生成等高线。所以生成等高线的精度跟采样点的间距紧密相关,采样距离越小精度越高。 利用Google Earth数据制作地形图主要分两个步骤:1.地理坐标和高程数据的提取;2.根据提取的数据制作地形图。

一、地理坐标和高程数据的提取 所用软件:Google Earth ,谷地地理信息系统(GoodyGIS)或谷歌地球高程数据采集工具(GetGECoords) 首先需要安装Google Earth和GoodyGIS。 启动软件后界面如下: 1.点击菜单栏的定位搜索,输入需要定位的经纬度坐标,点击前往,再重复定位搜索下一个点坐标。一般情况下如需得到一个区域的高程数据,只需确定左上角和右下角两个点坐标。

利用GoogleEarth制作地形图方法的应用

利用G o o g l e E a r t h制作地形图方法的应用 The latest revision on November 22, 2020

利用Google Earth 制作地形图方法的应用 徐林军 (江西省核工业地质局二六八大队) 【摘要】随着科技的进步,数字地图在许多领域有着广泛的应用。google earth除能提供详细的地理经纬度、三维立体图外,还提供一项重要数据:海 拨高程。这样我们就可以更简便地利用google earth的空间数据来自制地形图。 【关键词】;;地形图 随着卫星遥感技术、互联网技术的日新月异,提供高分辨率的卫星影像图成为可能。作为民用的免费卫星影像清晰度也逐渐提高,而传统地图的制作,不仅制作周期长、现势性较差,而且作为国家重要基础地理信息数据必须通过申请缴费才能获得。如何利用现有的免费卫星影像图制作高清晰度的、现势性强的有较高坐标精度的地图,更快捷、更实用的满足野外踏勘工区、勘察、地质等各行各业的需要,本文将针对Google影像地图进行可行性分析,研究获得高精度地图坐标并制作成地形图的具体操作方法。 提取Google Earth高程数据原理:Google Earth上每一个点 的属性包括地理坐标和高程,投影椭球参数采用WGS84地理坐标系。通过采样所求范围内的坐标点,用三角网剖分的方法自动生成等高线。所以生成等高线的精度跟采样点的间距紧密相关,采样距离越小精度越高。 利用Google Earth数据制作地形图主要分两个步骤:1.地理坐标和高程数据的提取;2.根据提取的数据制作地形图。

一、地理坐标和高程数据的提取 所用软件:Google Earth ,谷地地理信息系统(GoodyGIS)或谷歌地球高程数据采集工具(GetGECoords) 首先需要安装Google Earth和GoodyGIS。 启动软件后界面如下: 1.点击菜单栏的定位搜索,输入需要定位的经纬度坐标,点击前往,再重复定位搜索下一个点坐标。一般情况下如需得到一个区域的高程数据,只需确定左上角和右下角两个点坐标。

利用google_Earth自制地形图

利用google_Earth自制地形图( Google在国内推出高清图以后,的确极大程度地方便了我们的生活,我们可以在上面肆无忌惮地查找任何感兴趣的地方,清晰的卫星图像足以使我们身临其境。但是,不光如此,google earth除能提供详细的地理经纬度、三维立体图外,还提供有一项重要数据:海拨高程。它的显示精度达到了1英尺(约0.3m),要知道,目前普通的GPS导航器的高程定位精度只有2.5m,这样,我们就完全可以利用这些空间数据来自制地形图了。 地形图上的首要要素便是等高线,而等高线的正确与否主要取决于地性线(山脊线、山谷线)。所以,绘制地形图的思想便是:沿山脊线或山谷线隔一定距离将每一个点的三维坐标量取下来,再经过适当地加密测点,然后通过CAD进行展点,最后用内插法绘制等高线。 但是,这样的获取方法对每个点都需要记录三个坐标,即B(地理纬度)、L(地理经度)、H(大地高)。如此,不仅使获取的工作量很大,对以后的展点也是一个负担。这时我们可以采用一个简化的方法:只记录大地高,而将经纬度取为默认(每次都以一个起始经度或纬度开始,等距取点),这样便极大提高了取点速度。

关于经纬度的取点密度,传统地形图的规定一般为“图上距离每间隔3cm”,但传统地形图的每张图都要涉及到比例尺,而显示屏的出现则完全颠覆了它的概念。对此,我认为:既然人眼在地图上所能分辨出的最小距离是0.1mm,而显示器的象点距离一般都为0.2xmm,那么可令显示器上每个象素为纸质地图上的0.1mm,这样就可以得到一个大概的比例尺,从而可以确定出取样点的间距了。 地形图比例尺与等高线的关系如下: 对于要绘制一幅相当于2.5万分之一的地形图,即图上1cm相当于实地的250m,那么可按750m的间距取点。地理纬度在赤道附近每秒约合实地30m(赤道周长 40030km/1296000″),在中纬度地区值不会相差很大,经度每秒亦可按30m取值。例如每隔3″取值,在一个2′×2′的范围内(约13平方公里),只需360个点,一个多小时就可以获取完毕。 获得高程点后,我们就可以在CAD上进行展点了。

完美解决谷歌地图“程序需要有效网络链接”及谷歌地图不能手机基站定位问题

2001年8月手中兴U880,发现谷歌地图无法定位,经过查资料及折腾,终于找到原因,并完美解决,现放出教程,以供大家分享 [------------------------严重鄙视不顶就下文件的------------------------------] 一、适用范围: 1.所有安卓系统手机 2.任何版本的GOOGLE MAP 包括最新的5.9版本 二、程序表现症状: 1.谷歌地图无法连接到谷歌服务器,不能通过WIFI或GPRS下载或更新地图资料 2.谷歌地图不能利用手机信号进行手机定位、 三、原因分析: 1.google maps具有多个IP接入地址,手机上存在的hosts 文件中得IP地址已经改动,程序在请求数据的时候无法得到回复,故不能联线更新地图 2.中国移动在推出U880时,在其定制包中为了推广“移动导航”软件,特意将GOOGLE框架服务程序中的部分功能进行阉割,也就是移动所谓的精简,导致谷歌地图无法读取移动基站信息,从而无法定位! 三、解决需要的软件及文件: a.取得ROOT权限工具: b.手机上进入系统工具: c.需要补充进手机的文件包: 四、准备文件 1.下载上述三个文件 2.在电脑端解压root权限取得工具,确保手机联线,并且电脑能识别手机型号(可以下载91手机助手来自动安装手机驱动程序)后,在电脑端执行解开的ROOT工具文件包中得SuperOneClick.exe文件,并点击左上角ROOT,有出来对话框时,一路按确定或回车即可,然后重启手机(手机端出现一个黑白类似骷髅图标) 3.解压手机修复工具,得到R.E.管理器.apk文件,并安装到手机(用91助手的直接在电脑上点击安装,没91的拷贝到手机上安装),安装完成后运行一次,手机ROOT授权文件提示:是否允许R.E.管理器取得最高权限,点“是”,使R.E.管理器取得进入系统的权限 4.解压谷歌地图定位补充文件,并将文件夹拷贝到手机上备用 五、开始修复

基站定位、Google地图偏移测试报告

基站定位、Google地图偏移测试报告 一、宿舍测试 1、将宿舍定位点在Google Earth上进行显示,同样的坐标值,显示位置远远接近实际点(如图1,其中黄色点为实际位置,灰色框内点为基站定位位置)。 图1 Google Earth 上宿舍位置显示 2、测量距离偏差(如图2,其中,绿色点1为实际位置,红点2为基站定位位置,红的3为加入Google地图偏移后显示的位置),测距得,基站实际定位偏差在300米以内,如果加入地图,偏差将达到700多米。 图2 地图偏移量

二、实验室测试 实验室测试结果非常理想(如图3,其中,红色点为实际位置,黄色图钉分别标注了基站定位位置跟GPS定位位置,白色建筑为信息学院楼),可加,本测试点的基站定位精度居然高于GPS,在20米以内,GPS定位误差在30米左右。 图3 实验室测试结果显示 三、对之前在公司的测试结果重新进行地图显示,结果显示,定位精度要远远小于之前估计的1公里,在500米以内。 四、测试总结: (1)Google Map存在严重的地图偏移,Google Earth没有(或很小,之前师兄也都用的Google Earth)。使用https://www.doczj.com/doc/4416155692.html,/的卫星定位同样不存在地图偏移。 (2)基站定位精确度要远远好于预期。粗略估计市区300米内,郊区800米内。进一步说,周边搜索的原方案应该没有问题。 (3)虽然每次定位显示都会有地图偏移,然而在轨迹记录时,地图显示轨迹是连续的,而不会乱跳,说明在一定区域内,地图偏移是同方向同大小的,也就是在一定区域内,地图偏移存在一定规律。 (4)研究了一晚上+一上午,基本得出,破解地图偏移在近期很难实现,测试的时候地图显示点一般偏移实际点西500米左右,但是这个是个人测试得出的,而且是线性的,有待验证。 (5)因此,地图部分如何处理,有待商榷。

Google地球转地形图

利用Google Earth转地形图 作者:德布 QQ:287389161 以下的方法,只针对规划人员做粗略地形分析使用,因为Google地球自身精度不高(个人觉得等高线间距在10米以上),所以对地形要求特别高的请不要使用该方法。 本方法需要用到的软件有:Googleearth、GoogleEarth 高程数据采集工具(网上有不同版本的,可以自行下载,我用的最简单的GoogleEarth高程数据采集工具V1.1)、记事本、excel、湘源控规。 具体步奏: 一、打开Googleearth,使用添加地表工具,获得所要做高程点范围的中心点的坐标(一般直接点添加地表工具,大头针会直接点中图纸中心)。如图1(我的高程采集工具不能用了,图中的位置不是我转图的位置),

二、打开GoogleEarth高程数据采集工具,将上一步得到的坐标输入对应的对话框中,如图2: 点击下一步如图3 :

确定后设置自动采点间距,(该处需要强调,最小设置20就可以了,Google地图中大多地方都是高程间距是50,设置小了除了耗时长,根本没有用)。之后点击刷新点击自动采点,就只需要等着了,如图4。 等采集完毕后,点击文件导出数据,设置格式如图5:

得到dat格式文件。 三、右键用记事本打开对应文件,数据形式如图6: 四、把数据全部复制到excel中,,依次点击工具栏中数据——分列——分割符号——选择tab键和逗号分割,(这步的主要目的是快速把多点输入CAD中,有人会用excel直接导入数据的可以跳过不看)如图7:

得到下列形式数据: 将原点号统一改为:point 四、重新将数据复制倒记事本中,将空格替换成逗号(该处必须在英文输入法输入逗号)

巧用googleearth绘制三维等高线地形图

巧用Google Earth绘制三维等高线地形图 摘要: 随着多媒体教学的逐渐普及,各种地理软件层出不穷,但因为地理的专业性质限制,大多数地理教师很难做到精通各类软件应用,本着深入浅出的宗旨,以比较常见的Google earth 软件为例,本文将和大家一起探讨和学习如何利用该软件进行等高线地形图的绘制和等高线知识的讲解,轻松破解等高线的知识难点。 关键词:Google earth global mapper Surfer 地标等高线地形图的绘制、判读及应用 一.相关软件准备 在制作等高线地形图过程中,主要应用的软件有3种:Google earth, global mapper, Surfer. earth:中文一般叫谷歌地球,是一款Google公司开发的虚拟地球仪软件,它把卫星照片、航空照相和GIS布置在一个地球的三维模型上。用户们可以通过一个下载到自己电脑上的客户端软件,免费浏览全球各地的高清晰度卫星图片。 如下图为三峡大坝的卫星地图。 Mapper:是一款地图绘制软件,不仅能够将数据显示为光栅地图、高程地图、矢量地图,还可以对地图作编辑、转换、打印、记录GPS及利用数据的GIS(地理信息系统)功能.版增加了直接访问USGS(美国地质勘探局)卫星照片TerraServer数据库和Global Mapper内部的地形图及以真实的3D方式查看高程地图的功能. 3. Surfer:三维数据成像软件,主要用于地质、工程、科学计算等数据的三维可视化成像显示。它支持两种成像方式:体成像和等值面成像。利用3D Surfer可以将数据在三维空间进行三维可视化显示,并且具有图形旋转、图形放缩、三维虚拟漫游、分层显示、图形切割、制作切片等功能。3D Surfer 支持Surfer切片图、高程模型图、曲折剖面、透明图层、叠加地形、贴图等功能。3D Surfer采用类似Surfer的操作方式,兼容Surfer定义的文本数据格式和GRD数据格式。支持规则数据和散乱数据的三维插值,与

Android-Google的定位和地图-详细版

Android——定位和地图 Location and Maps Quickview ?你的应用程序可以利用Android提供的定位框架(location framework)来确定设备的位置和方向,并且能够进行更新。 ?可以利用Google Maps外部类库来显示和管理地图数据 开发基于地理位置的服务可以使用android.location类和Google Maps 外部类库来开发。Location Services 可以利用android.location包来访问设备中的定位服务。Location framework的核心组件是LocationManager系统服务,该服务提供了确定位置的APIs和内置设备的方向(应该是电子罗盘了,如果可用的话)。 要获得一个LocationManager的实例,无需直接初始化,而是通过调 用 getSystemService(Context.LOCATION_SERVICE)来获取一个实例。 一旦获得一个LocationManager的实例,你就可以在程序中做如下三件事: ?Query for the list of all LocationProviders for the last known user location. ?注册/解注册到一个定位提供商(specified either by criteria or name)来周期性地更新用户的当前位置。 ?Register/unregister for a given Intent to be fired if the device comes within a given proximity (specified by radius in meters) of a given lat/long. Google Maps External Library Google提供的地图外部类库——com.google.android.maps package. 这个包的类提供了内建的地图碎片的下载、翻译和缓存, 此外,还有很多显示选项和控制。 在这个类库中的核心类是com.google.android.maps.MapView, 是ViewGroup的子类。一个MapView显示从Google Maps服务获得的图形和数据。当MapView获得焦点的时候,它将捕捉用户按下的键和触摸姿势来显示和放缩地图,包括管理额外的地图标题的网络请求。它还包含了供用户控制地图的必须的UI元素。你的应用程序还能够使用MapView类提供的方法来编程控制MapView,并能够在地图上绘制一些覆盖的按钮等UI 元素。 Google Maps外部类库不是标准的Android库的一部分,所以它可能并不包含在一些编译好的Android设备中,也不包含在Android SDK中。但是你能够使用

利用谷歌地球软件绘制等高线地形图

巧用Google Earth 绘制等高线知识难点 摘要: 随着多媒体教学的逐渐普及,各种地理软件层出不穷,但因为地理的专业性质限制,大多数地理教师很难做到精通各类软件应用,本着深入浅出的宗旨,以比较常见的Google earth 软件为例,本文将和大家一起探讨和学习如何利用该软件进行等高线地形图的绘制和等高线知识的讲解,轻松破解等高线的知识难点。 一.相关软件准备 在制作等高线地形图过程中,主要应用的软件有3种:Google earth, global mapper, Surfer. 1.Google earth:中文一般叫谷歌地球,是一款Google公司开发的虚拟地球仪软件,它把卫星照片、航空照相和GIS布置在一个地球的三维模型上。用户们可以通过一个下载到自己电脑上的客户端软件,免费浏览全球各地的高清晰度卫星图片。 如下图为三峡大坝的卫星地图。 2.Global Mapper:是一款地图绘制软件,不仅能够将数据显示为光栅地图、高程地图、矢量地图,还可以对地图作编辑、转换、打印、记录GPS及利用数据的GIS(地理信息系统)功能.6.xx版增加了直接访问USGS(美国地质勘探局)卫星照片TerraServer数据库和Global Mapper内部的地形图及以真实的3D方式查看高程地图的功能. 3. Surfer:三维数据成像软件,主要用于地质、工程、科学计算等数据的三维可视化成像显示。它支持两种成像方式:体成像和等值面成像。利用3D Surfer可以将数据在三维空间进行三维可视化显示,并且具有图形旋转、图形放缩、三维虚拟漫游、分层显示、图形切割、制作切片等功能。3D Surfer 2.0 支持Surfer切片图、高程模型图、曲折剖面、透明图层、叠加地形、贴图等功能。3D Surfer采用类似Surfer的操作方式,兼容Surfer定义的文本数据格式和GRD数据格式。支持规则数据和散乱数据的三维插值,与Surfer软件定义的色标等级文件兼容,支持*.lvl和*.clr的颜色等级文件,支持*.dat *.txt *.grd等数据格式。支持三维图像的输出转换,可以将三维图形转换为虚拟现实数据文件VRML数据格式、JPG、BMP等 GE软件估计大多数地理教师比较熟悉,该软件能展现全球各角落的卫星地图。但卫星地图的拍摄都是从太空中俯视,一般情况下,地形的高低起伏只能从颜色来分辨,难以准确判别地形类型。通过结合

谷歌地图是怎样炼成的:揭秘谷歌地图的制作过程

谷歌地图是怎样炼成的:揭秘谷歌地图的制作过程 9月11日消息,美国《大西洋月刊》(The Atlantic)资深编辑亚历克斯·马德里加尔(Alexis Madrigal)日前发表长篇文章,独家披露了谷歌地图服务的制作过程以及该服务幕后的Ground Truth项目。 以下为文章全文: 谷歌地图的幕后制作有一个专门项目为“Ground Truth” 在每幅谷歌地图(Google Map)的后面,都有一幅制作过程更为复杂的地图。这种地图对于网民的查询要求至为关键,但网民却无法看到这类地图。这种深层次地图包含了各处地点的更多综合信息:街口驾车禁止左转、免费高速公路、公路限速和交通状况等等。在你向谷歌询问驾车出行路线时,谷歌就会调出这些数据,然后对数据加以分析再向你返回相应答案。 上周期间,谷歌向我展示了该公司的这种内部地图,并演示了其制作过程。谷歌地图的幕后制作有一个专门项目名称,为“Ground Truth”(简称GT)。这也是谷歌首次对外演示GT项目的工作原理。 在谷歌业务演进的关键时刻,该公司进一步扩展自身规模。谷歌最初是一家搜索引擎公司,其主要收入来源为文本搜索广告,即在搜索结果页面发布与用户查询要求相关的广告内容。后来移动服务大行其道。如此一来,搜索者所处位置的重要性,已能够与搜索内容本身处于同等重要位置。面对这种市场新趋势,谷歌有了Android移动操作系统,并为此建立了相应生态系统,并成为唯一能够同苹果iOS相抗衡的产品。 而且谷歌的业务扩张也有着很好理由。假如说谷歌的使命就是对全球信息进行有序整理,那么其中的最大挑战就是:如何将全球的真实世界信息全部搜集起来,并能够让网民们使用且真正能够给他们提供帮助。

利用卫星遥感数据制作地形图

利用卫星遥感数据制作地形图 的地形图,无法对工作区地形地作整体评价及认识,为前期踏勘及设计工作带来了极大不便,针对这一问题,我们可以利用一种新方法来解决,即:利用卫星遥感数据来制作工作区地形图。制作1:50000以下的小比例尺地形图,甚至不需要额外的成本,完全可以利用当前已经公开的免费数据来制作。为了使大家有一个更清晰的概念,在这里我们把需要用到的卫星遥感数据看作两部份(实际上这两部份都是从卫星影像数据衍生出来的):平面影像数据和高程数据,平面影像数据就是一般看到的平面卫片(如GoogleEarth下载的图片),主要作用是描绘出图面上的地物。高程数据我们可以利用免费的DEM数据,DEM是Digital Elevation Model的缩写,是一定范内规则格网点的平面坐标(X,Y)及其高程(Z)的数据集(如30m、90m分辨率的数据集),在文章的主要作用是确定点高程。现在我们从两方面对这一技术进行阐述:(1)成图的基本步骤,(2)怎样提高成图精度。 这一技术的应用,我们需要准备以下软件:(以免费卫星图片和DEM数据为例) (1)Global Mapper(数据处理及成图软件,也具有坐标转换功能);(2)Coord MG(坐标转换软件);(3)Cass、CAD成图软件;(4)谷歌地图下载软件(卫星图片下载,保证下载的卫片四个角有经度坐标);(5)各分辨率DEM数据(目前有全球90m分辨率DEM免费数据,亦可下载全球30m分辨率DEM免费数据,下载网站“国际科学数据服务

平台”。 1 成图的基本步骤 我们以90m分辨率DEM数据为例进行阐述:(假设已下载了90m 分辨率DEM数据) 1.1 使用Global Mapper获得点高程数据或生成等高线图 (1)在90m数据文件夹里找到“世界地形数据分区表.jpg”,并打开。 (2)根据上图找到工作区大致地理置对应的下轴和左轴方格数据,并记。如43_16. (3)运行Global Mapper,打开43_16.zip文件,同时设置好相应的椭球及投影参数。 (4)利用Global Mapper生成等高线,输出等高线图(DXF格式)。为了更好地对图形进行编辑,一般不直接输出等高线图,而是生成XYZ 格式的点数据,再将这些数据转换成CASS软件所需要的展点格式(可用Excel进行格式转换操作),用CASS软件生成等高线。 1.2 制作地物图 1.2.1 用谷歌地图下载软件下载卫星图片。此软件下载后有图片四个角的经度坐标,用CoordMG进行坐标转换。操作步骤:运行地图下载软件――地图下载任务――新建任务――输入下载范――选择下载级别(级别越高越清晰,文件越大,但有些区域无高清图片,一般选18~20级)――下载。见图2 1.2.2 下载完成后,点“导出|拼接――导出|拼接图片”,再选中“生

浅析google maps地图影像数据组织技术

浅析google maps地图影像数据组织技术 【摘要】随着遥感影像数据的不断增长,对这些数据的组织管理技术已显得越来越重要,本文分析介绍了google maps的地图影像数据的原理和海量地图数据的组织技术方法,并给出了基于google maps的嵌入式程序开发方法。 【关键词】google maps;影像数据;组织 1.引言 随着计算机、航天遥感技术的不断发展进步,目前遥感影像数据呈几何基数增长,达到了GB、TB甚至是PB这样庞大的级别。因此,海量遥感影像数据的高效组织、管理技术已显得越来越重要。 google maps是国际上较为先进的电子地图服务,可以快速响应用户的请求,并且及时从服务器中提取到用户所需要的地理影像数据在GIS程序中进行显示,本文分析了google maps海量影像数据的组织原理及技术特点,并给出了基于google maps的嵌入式应用程序的设计思路,为国内相关应用开发提供了借鉴和参考。 2.理论基础 地图投影是利用一定数学方法则把地球表面的经、纬线转换到平面上的理论和方法。由于地球是一个赤道略宽两极略扁的不规则的梨形球体,故其表面是一个不可展平的曲面,所以运用任何数学方法进行这种转换都会产生误差和变形,为按照不同的需求缩小误差,就产生了各种投影方法。地图投影的拟定和计算,一般均假定地球表面为旋转椭球面,并称其为地球椭球参考椭球面,如图1所示: 图1 地球椭球模型 地球椭球体的形状和大小是由其长半径a(赤道半径)和短半径b(极轴半径)决定的,通常去a的值为6378137米,b的值为6356752.3米。由于描述地球椭圆形状的参数还有椭圆扁率,第一偏心率和第二偏心率,其中扁率f反映了椭球体的扁平程度,偏心率和是子午椭圆的焦点离开中心的距离与椭圆半径之比,它们也反映椭球体的扁平程度,偏心率愈大,椭球愈扁[1]。 2.1 墨卡托投影 墨卡托投影,是正轴等角圆柱投影。由荷兰地图学家墨卡托(G.Mercator)于1569年创拟。假想一个与地轴方向一致的圆柱切或割于地球,按等角条件,将经纬网投影到圆柱面上,将圆柱面展为平面后,即得本投影。墨卡托投影在切圆柱投影与割圆柱投影中,最早也是最常用的是切圆柱投影。假设地球被围在一个中空的圆柱里,其赤道与圆柱相接触,然后假想地球中心有一盏灯,把球面上

如何通过来访者IP定位google地图

如何通过来访者IP定位google地图 要想使用google map api,首先得获取Google地图API的密钥,获取网址为: http: 获取到密钥之后接着下来利用它实现最简单的hello world网页,google提供了很多示例,大家可以访问这个网址: http: 经过简单的一些复制,粘贴操作,马上就可以在你的网页上增加地图了,呵呵,是不是很简单呢!拥有自己的地图后我们马上实现通过IP定位google地图。 实现这个功能之前,我们得先准备些IP数据,假如你没有这些数据怎么办?没关系,我们可以享受免费大餐,国外著名的maxmind公司提供免费的IP 地址库和相应的JAVA实现接口程序,大家可以通过链接 http: 上面的都是一些准备的工作,现在是万事具备,只欠编码了,不过编码倒也是小事,按部就班就行了。 第一步,获取来访用户的IP String ip = request.getHeader("x-forwarded-for"); if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("Proxy-Client-IP");}if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getHeader("WL-Proxy-Client-IP");}if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {ip = request.getRemoteAddr();}第二步,根据IP,结合IP数据库获取相应的地址信息

运用Google Earth和ArcGIS制作地方等高线地形图12.15

运用Google Earth和ArcGIS制作地方等高线地形图 运用Google Earth和ArcGIS制作等高线地形图的方法,并且经过检验,与Google Earth 的误差很小,与当地真实地形很接近。 一、制作原理 等高面与起伏的地面相切会得到切线。在Google Earth中,把不同高度的半透明等高面相互叠加后,会得到海拔与图像灰度增减规律一致的效果(图2),即一定的灰度就代表某一海拔范围,这与规则网格DEM相似,可称其为类DEM。类DEM与DEM一样,可在ArcGIS中直接生成等高线。 二、制作实例 四川省安岳县东胜乡初级中学地理教师欲制作当地的等高线地形图。 1.准备工作 1)安装Google Earth,联网状态下运行Google Earth软件。在左侧的搜索栏中输入“四川省安岳县东胜乡”,浏览该地的数据,即下载东胜乡数据。 2)在Google Earth工具栏的选项中进行相关设置(图1)。①设置显示经纬度为通用横轴墨卡托投影(UTM),以减少定位时的计算;②设置地形提升倍数为0.5,以减小像点位移误差,同时防止等高线替代误差过大。 图1 Google Earth的相关设置

.在Google Earth中生成类DEM 1)新建一个白色紧贴地面的四边形作为底色。四边形内最高点为427m,最低点为281m,设等高距为20m,所以共有420m~300m 7个等高面。 2)复制粘贴该四边形,修改颜色为黑,透明度为10%。设置海拔高度为绝对420m,并命名该四边形为“420m”。 3)复制420m等高面并粘贴,重命名并调整海拔高度为400m。之后重复“复制、粘贴、重命名、调整海拔”的操作,直到300m等高面为止,得到图2的效果。 图2 在Google Earth中生成类DEM 3.截图及图像预处理 为保证图像不产生干扰信息,并且灰度值不发生变化,该步骤需注意以下两点:①截图时

相关主题
文本预览
相关文档 最新文档