يمكن أن تحتوي العديد من ميزات 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">
بعد ذلك، استبدِل <gx:altitudeMode>
بـ <altitudeMode>
عند استخدام clampToSeaFloor أو relativeToSeaFloor.
لاحظ أن مساحة اسم الإضافة 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 على سطح الأرض، بعد التضاريس. وبهذه الطريقة، يمكن أن تكون تراكبات الأرض - على سبيل المثال - "ملتفة" فوق سطح الأرض. إذا تم وضع العنصر فوق مسطح مائي رئيسي، فسيضع 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
مضمنة في مساحة اسم الإضافة. يُرجى الاطِّلاع على أوضاع ارتفاع سطح البحر ومساحة اسم إضافة 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>
نسبيّة إلى الأرض
تقيس الارتفاع من مستوى الأرض مباشرة أسفل الإحداثيات.
وكمثال على ذلك، يمكن استخدام وضع الارتفاع هذا لوضع قمم أعمدة خط الطاقة أثناء صعودها فوق التل. إذا كان ارتفاع كل عمود 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>
relativeToSeaFloor
مضمنة في مساحة اسم الإضافة. يُرجى الاطِّلاع على أوضاع ارتفاع سطح البحر ومساحة اسم إضافة 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>