بسیاری از ویژگیهای KML میتوانند شامل یک عنصر یا مختصات <altitude>
باشند که فاصله بالاتر از سطح زمین، سطح دریا یا کف دریا را برای آن ویژگی خاص مشخص میکند. عناصر <AbstractView>
همچنین می توانند شامل ارتفاع باشند.
هر مقدار ارتفاع باید با عنصر <altitudeMode>
همراه باشد، که به Google Earth میگوید چگونه مقدار ارتفاع را بخواند. ارتفاع را می توان اندازه گیری کرد:
- از سطح زمین (
relativeToGround
) - بالاتر از سطح دریا (
absolute
)، یا - از کف توده های اصلی آبی (
relativeToSeaFloor
به کف دریا).
همچنین می توان آن را نادیده گرفت ( clampToGround
و clampToSeaFloor
)
حالتهای ارتفاعی کف دریا و فضای نام پسوند KML
حالتهای ارتفاع مرتبط با کف دریا در مجموعهای از برنامههای افزودنی استاندارد KML با استفاده از پیشوند gx قرار دارند. برای استفاده از آنها، ابتدا باید URI فضای نام صحیح را به عنصر باز کننده <kml>
در فایل KML خود اضافه کنید:
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2">
سپس، هنگام استفاده از clampToSeaFloor یا relativeToSeaFloor ، <gx:altitudeMode>
را جایگزین <altitudeMode <altitudeMode>
کنید.
توجه داشته باشید که فضای نام پسوند با پیشوند gx ممکن است توسط همه مرورگرهای جغرافیایی پشتیبانی نشود. توسط Google Earth 5.0 پشتیبانی می شود.
مرجع حالت ارتفاع
مطلق
حالت ارتفاع مطلق، بدون توجه به ارتفاع واقعی زمین در زیر ویژگی، ارتفاع را نسبت به سطح دریا اندازه گیری می کند. به این ترتیب، می توان ویژگی ها را در زیر زمین قرار داد، و قابل مشاهده نخواهد بود. مانند مثال زیر، بخشهایی از یک ویژگی میتواند در زیر زمین گسترش یابد. مقادیر منفی برای قرار دادن ویژگی ها در زیر سطح دریا پذیرفته می شود.
این حالت ارتفاع در شرایطی که مقدار ارتفاع به طور دقیق مشخص است مفید است. به عنوان مثال، مسیرهای GPS می توانند از حالت ارتفاع مطلق برای نمایش مسیرهای ایجاد شده در هنگام پرواز یا غواصی استفاده کنند.
مثال
<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2"> <GroundOverlay> <name>absolute Example</name> <Icon> <href>rectangle.jpg</href> <viewBoundScale>0.75</viewBoundScale> </Icon> <altitude>2744.0</altitude> <altitudeMode>absolute</altitudeMode> <LatLonBox> <north>48.783</north> <south>48.751</south> <east>-121.75</east> <west>-121.89</west> <rotation>-30</rotation> </LatLonBox> </GroundOverlay> </kml>
clampToGround
این حالت هر مقدار ارتفاع را نادیده می گیرد و ویژگی KML را بر روی سطح زمین و به دنبال زمین قرار می دهد. به این ترتیب، به عنوان مثال، GroundOverlays می تواند بر روی سطح زمین "پرده" شود. اگر این ویژگی روی یک بخش بزرگ از آب قرار گیرد، clampToGround ویژگی را در سطح دریا قرار می دهد.
هر ویژگی KML بدون حالت ارتفاع مشخص شده به طور پیش فرض به clampToGround تبدیل می شود.
مثال
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"> <GroundOverlay> <name>clampToGround example</name> <Icon> <href>rectangle.jpg</href> <viewBoundScale>0.75</viewBoundScale> </Icon> <altitude>2744.0</altitude> <altitudeMode>clampToGround</altitudeMode> <LatLonBox> <north>48.783</north> <south>48.751</south> <east>-121.75</east> <west>-121.89</west> <rotation>-30</rotation> </LatLonBox> </GroundOverlay> </kml>
clampToSeafloor
موجود در فضای نام پسوند. برای اطلاعات مهم ، حالتهای ارتفاع SeaFloor و فضای نام پسوند KML را ببینید.
مانند clampToGround، این حالت مقدار ارتفاع را نادیده می گیرد. این ویژگی را در کف هر آب اصلی قرار می دهد. اگر ویژگی دور از بدنه آبی قرار داشته باشد، به جای آن، ویژگی به سطح زمین متصل می شود.
مثال
<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2"> <!-- required when using gx-prefixed elements --> <Placemark> <name>clampToSeaFloor example</name> <Polygon> <tessellate>1</tessellate> <gx:altitudeMode>clampToSeaFloor</gx:altitudeMode> <outerBoundaryIs> <LinearRing> <coordinates> 146.793,12.213,0 146.803,12.202,0 146.829,12.218,0 146.807,12.226,0 146.793,12.213,0 </coordinates> </LinearRing> </outerBoundaryIs> </Polygon> </Placemark> </kml>
relativeToGround
ارتفاع را از سطح زمین مستقیماً زیر مختصات اندازه گیری می کند.
به عنوان مثال، از این حالت ارتفاع میتوان برای قرار دادن بالای تیرهای پاور لاین در هنگام بالا رفتن از تپه استفاده کرد. اگر ارتفاع هر قطب 20 متر باشد، محل بالای هر قطب با ارتفاع زمین بالا و پایین میشود.
مثال
<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2"> <Placemark> <name>relativeToGround Example</name> <LineString> <extrude>1</extrude> <altitudeMode>relativeToGround</altitudeMode> <coordinates> -121.835,48.754,700 -121.828,48.764,700 -121.818,48.776,700 -121.794,48.787,700 -121.778,48.781,700 -121.766,48.771,700 -121.768,48.757,700 -121.773,48.747,700 </coordinates> </LineString> </Placemark> </kml>
نسبت به کف دریا
موجود در فضای نام پسوند. برای اطلاعات مهم ، حالتهای ارتفاع SeaFloor و فضای نام پسوند KML را ببینید.
ارتفاع را از کف دریا مستقیماً زیر ویژگی اندازه گیری می کند، در صورتی که ویژگی بر روی یک بخش بزرگ آبی قرار گیرد. اگر روی آب نباشد، ارتفاع از سطح زمین اندازه گیری می شود.
مثال
<?xml version="1.0" encoding="UTF-8"?> <kml xmlns="http://www.opengis.net/kml/2.2" xmlns:gx="http://www.google.com/kml/ext/2.2"> <!-- required when using gx-prefixed elements --> <Placemark> <name>relativeToSeaFloor Example</name> <LineString> <extrude>1</extrude> <gx:altitudeMode>relativeToSeaFloor</gx:altitudeMode> <coordinates> 146.825,12.233,400 146.820,12.222,400 146.812,12.212,400 146.796,12.209,400 146.788,12.205,400 </coordinates> </LineString> </Placemark> </kml>