`
bufanliu
  • 浏览: 197931 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

【转】Google Earth的KML语法

阅读更多
原文出处:http://www.cnblogs.com/3stone/archive/2006/08/01/464580.html
说明:对该文中的部分英文进行了翻译。
修改后的文章如下:

    KML是Google Earth的地标文件格式,全称是Keyhole Markup Language KML,基于XML语法结构,用来描述GE地标信息如点、线、图片、折线、颜色、图标、视角等。以下是在开发过程中经常用到的一些语法说明,主要围绕NetworkLink对象展开。
   目前的语法解释针对的是KML2.0,GE4出来后,KML也增加了新的内容,升级为2.1版,具体内容以后会贴出来!

<NetworkLink>

   复合标签,用来定义一个引用的本地或远程的KML文件。我主要用它来读取远程数据库中的地标信息。
<NetworkLink>
<name>NE US Radar</name>
<flyToView>1</flyToView>
<Url>
  <href>http://www.example.com/NetworkLink.aspx</href>
    <refreshMode>onInterval</refreshMode>
    <refreshInterval>30</refreshInterval>
    <viewRefreshMode>onStop</viewRefreshMode>
    <viewRefreshTime>7</viewRefreshTime>
<ViewFormat>
BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth],
[lookatLon],[lookatLat],[lookatRange],[lookatTilt],[lookatHeading]
</viewFormat>
</Url>
<refreshVisibility>1</refreshVisibility>
</NetworkLink>

    以上内容是一个NetworkLink对象的完整代码,其中的关键字可参考下面的语法解释:

<RefreshMode>

    设置
Sets the type of refresh that is done to a network link or ground overlay, either refreshing upon a designated interval or only once upon loading in Google Earth (default).

<refreshMode>onInterval</refreshMode>

    值: 用onInterval表示KML的刷新是基于时间的。使用once或不填表明刷新只是在网络连接载入或在Google Earth中移动时刷新。

<RefreshVisibility>

    单一标签,是<NetworkLink>的子元素.指定网络KML文件被重新加载刷新的时候是否忽略KML文档之中各标注的默认可见性。

    值:  默认值是0,即忽略KML文档中的默认可见性设置而使所有标注的可见性不变。更改为1既可以在每次网络KML文件被刷新之后重新根据KML文件内容设置标注的可见性。 例如,假设有一项在KML文件之中可见性设置为0,而且refreshVisibility设置为1,当文件第一次加载到Google Earth之中的时候,该项是不显示的如果用户通过点击该项的复选框而已经使该项显示出来,这种情况下该网络KML文件被刷新之后,该项又会重新变成不显示。

<RefreshInterval>

    单一标签。用来指定刷新一个网络KML文件或图片标注的时间秒数。

    <refreshInterval>121</refreshInterval>

   值: 以秒为单位。如果该值大于0,则该项每n秒刷新一次,如果该值小于0,则该项根本不会被加载,如果该值等于0,则该项会被加载一次而不会再被刷新。

<ViewRefreshMode>

    单一标签,是<NetworkLink>的子元素,指定在什么情况下向<href>网络服务器发送当前视角坐标。

    值:  onStop 代表视图窗口停顿n秒后, n在<viewRefreshTime>标签之中指定。

          never - Default mode. If <viewRefreshMode> is undefined, data is not refreshed when the camera view changes in Google Earth.
<viewRefreshTime>

    单一标签,是<NetworkLink>的子元素,指定向网络服务器发送当前视角坐标的频率。

    值:  一个代表秒的整数。

<ViewFormat>

    这个元素用来选择在一个查询中什么信息由Google Earth发送到服务端,并且允许你指明Google Earth查询的格式。
    <viewFormat>格式是网络连接<Url>元素的一个子元素,它允许对返回给服务端的信息进行更加复杂的控制。如果没有指明这个标签,返回的信息是WMS样式的。东、南、西、北并列,但是现在你能以任意的顺序返回任意的这些参数,包括在<LookAt>中的一些参数。下面的例子返回在逗号相隔的所有的信息。

    <ViewFormat>

        BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth],[lookatLon],[lookatLat],[lookatRange],[lookatTilt],[lookatHeading]

    </viewFormat>

   值:用户定义变量. 可用的参数如下
  ·         [bboxWest]

  ·         [bboxSouth]

  ·         [bboxEast]

  ·         [bboxNorth]

  ·         [lookatLon]

  ·         [lookatLat]

  ·         [lookatRange]

  ·         [lookatTilt]

  ·         [lookatHeading]

<Range>

    单一标签,是<LookAt>的子元素.描述当前视点的海拔,以米为单位。

    <range>909.907</range>

   值:由视点的位置决定。

<Heading>

    单一标签。是<LookAt>的子元素,当前视角在水平面上的投影和正北的夹角,下面的例子表现了一个向西的视角。

    <heading>-90<heading>

   值: 由观测者(视点)方向决定,以度为单位。

<Latitude>

    单一标签,是<LookAt>的子元素。 指定从-90到90的纬度值。

    <latitude>33.3205<latitude>

   值: 由视点坐标决定,单位是度。

<Longitude>

    单一标签,是<LookAt>的子元素. 指定从-180到180的经度值.

    <longitude>-111.965<longitude>

    值: 由视点坐标决定,单位是度.

<LookAt>

    复合标签。为标注或目录定义观测者坐标(视点)。

    <LookAt>

        <heading>-0.00895499<heading>

        <tilt>39.4365<tilt>

        <range>214.17<range>

        <latitude>37.3895<latitude>

        <longitude>-122.086<longitude>

    <LookAt>

<Tilt>

    单一标签,<LookAt>的子标签. 代表视点到指定点的角度(视角),值为0代表没有倾斜,即在Google earth中的视角是垂直向下的.值为90代表最大倾斜度,即在Google earth中视角是水平的。

    <tilt>0.000000<tilt>

    值: 代表视角倾斜度的数值,单位可以是十进制的度数,也可以是其他标准GIS数值。

<viewBoundScale>

    在覆盖图层的时候使用——在网络连接或标注的时候,用来指示用来填充数据的屏幕空间的百分比。如果你正在创建一个土地覆盖图层来指明通过一个网络连接的动态数据,你能够设置观察的等级为1.0,以便动态的数据整个覆盖屏幕。这

个将是当用户需要调整覆盖图层的大小时的一个典型设置。
    值:查看范围比例在网络连接时默认被设置为1.0,在覆盖图层的时候如果没有指定时是0.75,另外,你可以屏幕大小的一部分的值,包括大于1.0的值。
    记住当你为用户可能想要修改位置的土地覆盖图层使用这个标签的时候,为了便于编辑,你应该将这个值设置为一个小点的值。另外,设置范围来反映对你想要显示的客户端屏幕的查看边界的相对数据的范围。
分享到:
评论

相关推荐

    Google Earth KML中文说明

    KML全称是Keyhole Markup Language KML,是一个基于XML语法和文件格式的文件,用来描述和保存地理信息如点、线、图片、折线并在Google Earth客户端之中显示

    Google Earth KML及在日本地震的应用初探

    KML(Keyhole Markup Language)是以XML语言为基础,并采用XML语法与格式存储的语言,在GoogleEarth和GoogleMap描述及存放地理信息。KML强调的是显示数据,文中通过实例,简要介绍KML在GoogleEarth中的应用。

    ESRI的Shapefile文件向GoogleEarth中KML文件的格式转换[归纳].pdf

    "ESRI的Shapefile文件向GoogleEarth中KML文件的格式转换" 本文主要介绍了ESRI的Shapefile文件向Google Earth中KML文件的格式转换,详细讲解了Shapefile文件的结构和组成,包括主文件、索引文件和dBASE表,并对KML...

    KML文件格式详细介绍.pdf

    适用于GoogleEarth的KML标记语言语法规则,了解它后,可以自己方便的编写KML呈现程序,使用自己定制化的显示界面直观显示对比分析数据。 适用于卫星导航、定位、位置服务等领域

    OGC_KML2.2 使用说明教程

    KML全称是Keyhole Markup Language KML,是一个基于XML语法和文件格式的文件,用来描述和保存地理信息如点、线、图片、折线并在Google Earth客户端之中显示, (KML以前的版本能够被Google Earth读取并保存为KML 2.0)...

    基于KML的GPS数据轨迹可视化.pdf

    KML文件可以被Google Earth和Google Maps识别并显示。KML提供了多种功能,如指定图标和标注、视图角度、图片标注、超链接和HTML描述等。 在GPS数据可视化中,KML技术可以用于对GPS轨迹数据的可视化和交互处理。通过...

    KML(Keyhole Markup Language)文件介绍

    KML全称是Keyhole Markup Language KML,是一个基于XML语法和文件格式的文件,用来描述和保存地理信息如点、线、图片、折线并在Google Earth客户端之中显示, (KML以前的版本能够被Google Earth读取并保存为KML 2.0)...

    KML文件格式详细介绍.rar

    KML 2.0介绍 KML全称是Keyhole Markup Language KML,是一个基于XML语法和文件格式的文件,用来描述和保存地理信息如点、线、图片、折线并在Google Earth客户端之中显示

    KML文件格式详细介绍下载

    KML 2.0介绍 KML全称是Keyhole Markup Language KML,是一个基于XML语法和文件格式的文件,用来描述和保存地理信息如点、线、图片、折线并在Google Earth客户端之中显示

    中篇Google地图开发技术PPT学习教案.pptx

    KML语言的特点是使用包含名称、属性的标签来确定显示方式,使得Google Earth和Google Maps可以像浏览器一样处理KML文件。 KML语言的发展 KML语言的前身是Keyhole公司,它是一家卫星图像公司,总部位于美国加州...

    通信与网络中的基于GoogleEarth的实时交通控制系统

    1 Google Earth的功能简介  Google Earth系列软件(简称“GE”) ,作为一款新颖的GIS系统,在Google Earth软件系统中加入各类道路... KML全称是KeyholeMarkup Language KML,是一个基于XML语法和格式的文件,用来描

    KML 2.0 文件格式详解

    KML 被 Google Earth viewer 显示的过程和 HTML 网页被浏览器处理差不多,而且和 HTML 一样,KML 也使用一种基于标签(名称和属性)的语法格式来描述地里标注信息,可以说,Google Earth viewer 是一个 KML 文件浏览器...

Global site tag (gtag.js) - Google Analytics