小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Google KML 起步教程筆記(一)基本 KML 文檔

 zgr686 2012-05-24

Google KML 起步教程筆記(一)基本 KML 文檔

作者:Terry.Feng.C | 出處:博客園 | 2011/9/20 7:11:13 | 閱讀46

原文地址:http://code.google.com/intl/zh-CN/apis/kml/documentation/kml_tut.html#placemarks

KML 是一種文件格式,用于在 Google 地球瀏覽器(Google 地球、Google 地圖和 Google 地圖移動版)中顯示地理數(shù)據(jù)。KML 使用基于標(biāo)記的結(jié)構(gòu),含有嵌套的元素和屬性,并符合 XML 標(biāo)準(zhǔn)。所有標(biāo)記都區(qū)分大小寫,而且完全如 KML 參考中列出的那樣顯示。該參考指出了哪些標(biāo)記可選。給定元素內(nèi),標(biāo)記必須按照參考中顯示的順序顯示。

如果您是 KML 的新用戶,請瀏覽該文檔和附帶的示例文件(SamplesInEarthSamplesInMaps),開始了解 KML 文件的基本結(jié)構(gòu)和最常用的標(biāo)記。第一部分說明了可以用 Google 地球用戶界面創(chuàng)建的地圖項。這些地圖項有:地標(biāo)、說明、地面疊加層、路徑和多邊形。第二部分說明需要用文本編輯器編寫的 KML 地圖項。用 .kml.kmz 擴(kuò)展名保存文本文件時,Google 地球瀏覽器會知道如何顯示它們。

1 基本 KML 文檔

最簡單的 KML 文檔類型就是那種可直接在 Google 地球中編寫的文檔,—也就是說您無需在文本編輯器編輯或創(chuàng)建任何 KML。地標(biāo)、地面疊加層、路徑和多邊形都可以直接在 Google 地球中編寫。

地標(biāo)

地標(biāo)是 Google 地球中最常用的地圖項之一。它會使用黃色圖釘作為圖標(biāo),在地球表面標(biāo)記出位置。最簡單的地標(biāo)只包含一個 <Point> 元素,它指定地標(biāo)的位置。您可以指定地標(biāo)的名稱,使用自定義的圖標(biāo),還可以為地標(biāo)添加其他幾何元素。

在 Google 地球中打開 KML Samples 文件,并展開 Placemarks 子文件夾。該文件夾包含三種不同類型的地標(biāo):簡單、浮動凸出。簡單地標(biāo)的 KML 代碼如下:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.2"> <Placemark>
<name>簡單地標(biāo)</name>
<description>連到地面。智能地將它自己置于下面的地形高度。</description>
<Point>
<coordinates>-122.0822035425683,37.42228990140251,0</coordinates>
</Point>
</Placemark> </kml>

該文件的結(jié)構(gòu)分解如下:

  • XML 報頭。這是每個 KML 文件的第一行。該行之前不能有空格或其他字符。
  • KML 名稱空間聲明。這是每個 KML 2.2 文件的第 2 行。
  • 包含以下元素的地標(biāo)對象:
    • 用于標(biāo)識地標(biāo)的名稱
    • 連接到地標(biāo)的"球形框"中顯示的說明
    • 定義地標(biāo)在地球表面位置的經(jīng)度、緯度高度(可選)。

如果您想知道該地標(biāo)在哪里,它就在 Google 的 41 號樓,我們開發(fā) Google 地球的地方!

用戶通常認(rèn)為的 Google 地球中的“地標(biāo)”,實際上是一個 <Placemark> 元素,有一個 KML 的 <Point> 子元素。點地標(biāo)是您在 Google 地球的 3D 查看器中繪制圖標(biāo)和標(biāo)簽的唯一途徑。默認(rèn)情況下,該圖標(biāo)是您熟悉的黃色圖釘。在 KML 中,<Placemark> 可包含一個或多個幾何元素,例如 LineString、Polygon 或 Model。但只有具有點的 <Placemark> 可以有圖標(biāo)和標(biāo)簽。點用于放置圖標(biāo),但點本身并無圖形表示。

地標(biāo)中的描述性 HTML

KML Samples 文件中有一個示例,演示了您可以對地標(biāo)文本執(zhí)行的幾乎所有操作。您可以添加鏈接字體大小、樣式和顏色,并指定文本對齊和表。如果您希望看到完整的列表,請復(fù)制并粘貼 “說明性的 HTML”地標(biāo)示例(在“Styles and Markup”文件夾中)至文本編輯器。

Google 地球中的自動標(biāo)記(發(fā)行版 4.0 及更高版本)

Google 地球 4.0 具有自動標(biāo)記功能,能將 www.google.com 這樣的文本自動轉(zhuǎn)換成用戶可以點擊的超鏈接。<description> 標(biāo)簽、<Snippet> 標(biāo)簽和 <BalloonStyle> 的 <text> 元素內(nèi)的文本都會自動轉(zhuǎn)換成標(biāo)準(zhǔn) HTTP 超鏈接。您無需自行添加 <a href="...>" target="_blank" rel="nofollow">

使用 CDATA 元素

如果您想在 <description> 標(biāo)簽內(nèi)編寫標(biāo)準(zhǔn)的 HTML,可將它放在 CDATA 標(biāo)簽內(nèi)。如果不想,必須寫上尖括號作為實體引用,避免 Google 地球錯誤地對 HTML 進(jìn)行語法解析(例如,符號 > 寫為 >,符號 < 寫為 <)。這是標(biāo)準(zhǔn)的 XML 并非 Google 地球獨有。

請考慮帶和不帶 CDATA 標(biāo)簽的 HTML 標(biāo)記的不同。首先,下面是帶有 CDATA 標(biāo)簽的 <description>:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.2"> <Document> <Placemark> <name>CDATA 示例</name> <description> <![CDATA[ <h1>CDATA 標(biāo)簽很有用!</h1> <p><font color="red">文本<i>可讀性更強,</i>并且<b>更容易編寫,</b>同時您可以避免使用實體引用。</font></p> ]]> </description> <Point> <coordinates>102.595626,14.996729</coordinates> </Point> </Placemark> </Document> </kml>
2009-03-15_140625 

以下是不帶 CDATA 標(biāo)簽的 <description>,這樣特殊字符必須使用實體引用:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.2"> <Document> <Placemark> <name>實體引用示例</name> <description> <h1>實體引用輸入很麻煩!</h1> <p><font color="green">文本 <i>可讀性更強</i> 并且<b>更容易編寫</b> 同時您可以避免使用實體引用。</font></p> </description> <Point> <coordinates>102.594411,14.998518</coordinates> </Point> </Placemark> </Document> </kml>

地面疊加層

地面疊加層可讓您在 Google 地球的地形上"疊加"圖像。<Icon> 元素包含了指向疊加圖像 .jpg 文件的鏈接。以下是 KML Samples 文件中的地面疊加層示例,展示 2001 年噴發(fā)的埃特納火山:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.2"> <Folder>
<name>地面疊加層</name>
<description>地面疊加層示例</description>
<GroundOverlay>
<name>地形上的大尺度疊加層</name>
<description>疊加層顯示 2001 年 7 月 13 日噴發(fā)的埃特納火山。</description>
<Icon>
<href>D:\TDDOWNLOAD\etna.jpg</href>
</Icon>
<LatLonBox>
<north>37.91904192681665</north>
<south>37.46543388598137</south>
<east>15.35832653742206</east>
<west>14.60128369746704</west>
<rotation>-0.1556640799496235</rotation>
</LatLonBox>
</GroundOverlay>
</Folder> </kml>
 2009-03-15_140409 

注意,文件開始兩行與第一個示例相同:XML 報頭和 KML 名稱空間聲明。

該示例使用文件夾<Folder>(傾斜的"地面疊加層")作為分組和標(biāo)記其內(nèi)容的機(jī)制。請注意您將 KML Samples 文件載入 Google 地球中時,文件夾是如何在“位置”面板中顯示的。

地面疊加層<GroundOverlay>定位由 <LatLonBox> 標(biāo)簽控制。邊框值以南緯、北緯和東經(jīng)、西經(jīng)形式給出。此外,旋轉(zhuǎn)值是針對 y-軸與網(wǎng)格北端不重合的圖像而給出的。該示例對疊加層使用 JPEG 圖像。Google 地球還支持 BMP、GIF、TIFF、TGA 和 PNG 格式。

路徑

Google 地球中可創(chuàng)建許多不同類型的路徑,而且可以毫不費力地創(chuàng)造性地使用您的數(shù)據(jù)。在 KML 中,路徑是用 <LineString> 元素創(chuàng)建的??匆豢?Paths 文件夾中“Absolute Extruded”示例,您就會明白如何用以下代碼來生成形狀

格式如下:西經(jīng),北緯,高度

2009-03-15_162008 2009-03-15_162016

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.2"> <Document>
<name>路徑</name>
<description>路徑示例。請注意,tessellate 標(biāo)簽?zāi)J(rèn)
設(shè)置為 0。如果您想創(chuàng)建 tessellate 線,它們必須直接用 KML
編寫(或編輯)。</description> <Style id="yellowLineGreenPoly">
<LineStyle>
<color>7f00ffff</color>
<width>4</width>
</LineStyle>
<PolyStyle>
<color>7f00ff00</color>
</PolyStyle>
</Style> <Placemark>
<name>Absolute Extruded</name>
<description>具有黃色輪廓且透明的綠墻</description>
<styleUrl>#yellowLineGreenPoly</styleUrl>
<LineString>
<extrude>1</extrude>
<tessellate>1</tessellate>

<altitudeMode>absolute</altitudeMode>
<coordinates> -112.2550785337791,36.07954952145647,2357
-112.2549277039738,36.08117083492122,2357
-112.2552505069063,36.08260761307279,2357
-112.2564540158376,36.08395660588506,2357
-112.2580238976449,36.08511401044813,2357
-112.2595218489022,36.08584355239394,2357
-112.2608216347552,36.08612634548589,2357
-112.262073428656,36.08626019085147,2357
-112.2633204928495,36.08621519860091,2357
-112.2644963846444,36.08627897945274,2357
-112.2656969554589,36.08649599090644,2357 </coordinates>
</LineString> </Placemark>
</Document> </kml>
2009-03-15_162404 

請注意,它其實只是高于地面的一條線。<tessellate> 標(biāo)簽把線切成小段,而 <extrude> 標(biāo)簽將線向下延伸到地面。

多邊形

您可以使用多邊形來創(chuàng)建簡單的建筑物及其他圖形。示例在 KML 示例文件的 Polygons 文件夾中。

五角大樓的示例是通過繪制簡單的內(nèi)外殼,然后將它們向下凸出到地面生成的。代碼如下:

格式如下:西經(jīng),北緯,高度,<altitudeMode>relativeToGround</altitudeMode>是一個枚舉值

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.2"> <Placemark>
<name>五角大樓</name>
<Polygon>
<extrude>1</extrude>
<altitudeMode>relativeToGround</altitudeMode>
<outerBoundaryIs>
<LinearRing>
<coordinates>
-77.05788457660967,38.87253259892824,100
-77.05465973756702,38.87291016281703,100
-77.05315536854791,38.87053267794386,100
-77.05552622493516,38.868757801256,100
-77.05844056290393,38.86996206506943,100
-77.05788457660967,38.87253259892824,100
</coordinates>
</LinearRing>
</outerBoundaryIs>
<innerBoundaryIs>
<LinearRing>
<coordinates>
-77.05668055019126,38.87154239798456,100
-77.05542625960818,38.87167890344077,100
-77.05485125901024,38.87076535397792,100
-77.05577677433152,38.87008686581446,100
-77.05691162017543,38.87054446963351,100
-77.05668055019126,38.87154239798456,100
</coordinates>
</LinearRing>
</innerBoundaryIs>
</Polygon>
</Placemark> </kml>

2009-03-15_163827

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多