قائمة طعام
مجاني
التسجيل
الصفحة الرئيسية  /  إنترنت/ تنسيق ملف KML واستخدامه في خرائط جوجل. مقدمة

تنسيق ملف KML واستخدامه في خرائط جوجل. مقدمة

إعلان

تنسيق ملف KML المتنوع

يتم تخزين ملفات KML بتنسيق XML وتم تطويرها في الأصل لبرنامج رسم الخرائط Keyhole. في عام 2004 ، اشترت Google شركة Keyhole Inc. ، وهذا هو سبب استخدام ملفات KML بكثرة الآن بواسطة خدمات خرائط Google - خرائط Google و جوجل إيرث.

التفاصيل الفنية لملفات KML

تحتوي ملفات KML على معلومات مخزنة بتنسيق XML. تتضمن هذه المعلومات كلاً من الصور والبيانات الأبسط مثل الخطوط والمضلعات والنقاط. تُستخدم هذه الملفات لتخزين معلومات حول موقع معين على الخريطة. يتيح ملف KML للمستخدم ليس فقط تحديد الموقع على الخريطة ، ولكن أيضًا إضافة المحتوى (تنسيق HTML) ، والملمس والعرض من زوايا مختلفة. لفتح ملفات KML في خرائط Google ، كل ما يتطلبه الأمر هو ملف KML نفسه ، المستضاف على الويب. مع وصلة تمديد منفصلة في الخط بحث جوجلسيتم فتحه الخرائط.

مزيد من المعلومات حول تنسيق ملف KML

الخيار الأول الذي يمكنك فتحه تنسيق KMZ، هو تطبيق Google Earth. هذا برنامج رسم خرائط عالمي من شركة عالمية مشهورة.

كل ما عليك فعله هو تحديد "ملف" - "فتح" عنصر القائمة في البرنامج قيد التشغيل. في المرحلة التالية ، حدد المجلد الذي يوجد فيه الملف نفسه ، وحدده واضغط على الزر "فتح".

هناك طريقة أخرى تتمثل في سحب الملف من Explorer إلى المنطقة التي يتم فيها عرض الخرائط.

باستخدام تطبيق Google SketchUp

يستخدم هذا البرنامج للنمذجة ثلاثية الأبعاد ، وفي الملف ذي الامتداد تمديد KMZيمكنه تخزين جميع أنواع النماذج ثلاثية الأبعاد للكائنات اللازمة لعرض واقعي للتضاريس.

لفتحه ، انقر فوق استيراد ملف. كما في الحالة السابقة نجد المجلد المطلوب، اختر فيه الملف المطلوبوانقر فوق استيراد.

برنامج المعلومات الجغرافية Global Mapper

يدعم هذا البرنامج عددًا كبيرًا من تنسيقات رسم الخرائط ، بما في ذلك التنسيق المذكور في هذه المقالة. بفضل التطبيق ، لا يمكن تحرير البيانات الموجودة فيه فحسب ، بل يمكن أيضًا تحويلها.

يتم الفتح باستخدام عنصر القائمة فتح ملف (ملفات) البيانات - ملف. علاوة على ذلك ، كل شيء مشابه للخيارات السابقة.

منصة المعلومات الجغرافية ArcGIS Server

سنستخدم إصدار سطح المكتب ، ArcGIS Explorer. ملف KMZ ، والذي يتم استخدامه أيضًا في ملفات هذا الملحق، يساعد على ضبط إحداثيات الكائن المطلوب.

يمكنك فتحه عن طريق السحب والإفلات من Windows Explorer مباشرة إلى منطقة العملتشغيل.

امتداد الملف .kml
فئة الملف
ملف مثال (2.05 كيلوبايت)
البرامج المرتبطة Blender (Windows و Mac و Linux)
Blue Marble Geographics Global Mapper (Windows)
ESRI ArcGIS for Desktop (Windows)
Google Earth (Windows و Mac و Linux)
خرائط جوجل (الويب)
Merkaartor (Windows و Mac و Linux)
Keyhole PRO (Windows و Mac)

KML هو تنسيق ملف يُستخدم لعرض البيانات الجغرافية في مستعرض Earth مثل Google Earth. يستخدم ملف KML بنية قائمة على العلامات مع عناصر وسمات متداخلة ويستند إلى معيار XML. جميع العلامات حساسة لحالة الأحرف ويجب أن تظهر تمامًا كما هي مدرجة في مرجع KML. يشير المرجع إلى العلامات الاختيارية. داخل عنصر معين ، يجب أن تظهر العلامات بالترتيب الموضح في المرجع.

إذا كنت مستخدمًا جديدًا لملف KML ، فاستكشف هذا المستند وملفات العينات المصاحبة ( عينات في الأرض) لبدء التعرف على البنية الأساسية لملف KML والعلامات الأكثر استخدامًا. يصف القسم الأول الميزات التي يمكن إنشاؤها باستخدام واجهة مستخدم برنامج Google Earth. تتضمن هذه الميزات العلامات الموضعية والأوصاف وتراكبات الأرض والمسارات والمضلعات. يصف القسم الثاني الميزات التي تتطلب تأليف KML باستخدام محرر نصوص. عندما يتم حفظ ملف نصي بامتداد .kmlأو .kmz، فإن متصفحات Earth تعرف كيفية عرضها.

نصيحة:لمشاهدة "رمز" KML لإحدى الميزات في برنامج Google Earth ، يمكنك ببساطة النقر بزر الماوس الأيمن فوق الميزة في العارض ثلاثي الأبعاد لبرنامج Google Earth وتحديد نسخ. ثم الصق محتويات الحافظة في أي محرر نصوص. يتم تحويل الميزة المرئية المعروضة في برنامج Google Earth إلى مكافئها النصي KML. تأكد من تجربة هذه الميزة.

لمناقشة كيفية استخدام بعض الميزات الرئيسية في ملف KML ، راجع دليل المطور.

جدول المحتويات

مستندات KML الأساسية

إن أبسط أنواع مستندات KML هي تلك التي يمكن تأليفها مباشرةً في Google Earth - أي أنك لست بحاجة إلى تحرير أو إنشاء أي KML في محرر نصوص. يمكن كتابة العلامات الموضعية وتراكبات الأرض والمسارات والمضلعات جميعها مباشرةً في Google Earth.

العلامات الموضعية

تعد العلامة الموضعية إحدى أكثر الميزات شيوعًا في برنامج Google Earth. تحدد موضعًا على سطح الأرض ، باستخدام دبوس تثبيت أصفر كرمز. تتضمن أبسط علامة موضعية العنصر ، الذي يحدد موقع العلامة الموضعية. يمكنك تحديد اسم ورمز مخصص للعلامة الموضعية ، كما يمكنك إضافة عناصر هندسية أخرى إليها.

كمثال ، قم بتمكين المجلد "Absolute Positioning: Top left" في ملف نماذج KML وسترى تراكب الشاشة في الجزء العلوي الأيسر من نافذة العرض. تم إنشاء هذا برمز KML التالي:




تحديد المواقع المطلقة: أعلى اليسار

http: //site/kml/documentation/images/top_left.jpg






يتم التحكم في تحديد الموضع عن طريق تعيين نقطة في الصورة المحددة بواسطة إلى نقطة على الشاشة يحددها ... في هذه الحالة ، تم جعل الزاوية العلوية اليسرى من الصورة (0،1) متطابقة مع نفس النقطة على الشاشة.

تحقق من الأمثلة الأخرى في المجلد لترى كيف يمكن الحصول على مواضع ثابتة أخرى ، ولإنشاء صور ذات حجم ديناميكي مع حجم الشاشة. (لاحظ أن xunitsو يوناتيمكن أيضًا تحديدها كـ "بكسل" للتحكم الدقيق.) لمزيد من التفاصيل ، راجع مرجع KML 2.2.

روابط الشبكة

يحتوي ارتباط الشبكة على ملف عنصر بامتداد (مرجع نص تشعبي) يقوم بتحميل ملف. ال يمكن أن يكون مواصفات ملف محلي أو عنوان URL مطلق. على الرغم من الاسم ، أ لا يقوم بالضرورة بتحميل الملفات من الشبكة.

ال في ارتباط يحدد موقع أي مما يلي:

  • ملف صورة تستخدمه الرموز في أنماط الرموز وتراكبات الأرضية وتراكبات الشاشة
  • ملف نموذج مستخدم في ملف عنصر
  • ملف KML أو KMZ تم تحميله بواسطة ارتباط شبكة

يمكن أن يكون الملف المحدد إما ملفًا محليًا أو ملفًا على خادم بعيد. في أبسط أشكالها ، تعد روابط الشبكة طريقة مفيدة لتقسيم ملف KML كبير إلى ملفات أصغر يمكن إدارتها على نفس الكمبيوتر.

حتى الآن ، تطلبت جميع الأمثلة لدينا تسليم رمز KML إلى Google Earth من الجهاز المحلي. تمنحك روابط الشبكة القدرة على خدمة المحتوى من موقع بعيد وتستخدم بشكل شائع لتوزيع البيانات على أعداد كبيرة من المستخدمين. بهذه الطريقة ، إذا كانت البيانات بحاجة إلى تعديل ، فيجب تغييرها فقط في موقع المصدر ، ويتلقى جميع المستخدمين البيانات المحدثة تلقائيًا.

برمجة CGI لـ KML

بالإضافة إلى الإشارة إلى الملفات التي تحتوي على بيانات ثابتة ، فإن ارتباط الشبكة يمكن أن يشير إلى البيانات التي يتم إنشاؤها ديناميكيًا - على سبيل المثال ، بواسطة برنامج نصي CGI موجود على خادم الشبكة. مع بعض المعرفة بلغة البرمجة النصية مثل PHP أو Python أو Perl ، يمكنك إنشاء نص برمجي يسلم دفقًا (أو ملفًا) من بيانات KML إلى كل رابط شبكة.

هناك شيئان ضروريان لتقديم KML من خلال CGI للشبكة:

عند إجراء مكالمة من العميل (Google Earth) إلى الخادم ، يجب على الخادم (1) إرجاع رمز استجابة HTTP 200 و (2) تعيين نوع محتوى الاستجابة على نص / عادي أو application / vnd.google -earth.kml + xml.

يجب أن يكون الرد ملف KML صالحًا. بالنسبة للتطبيقات المعقدة ، يعتبر التعامل الصحيح مع الخطأ أمرًا مهمًا للغاية.

نصيحة:من الطرق البسيطة للتعامل مع الأخطاء تحليل خطأ الخادم كنص لاسم مجلد. على سبيل المثال ، يمكن أن تطلب من الخادم إرجاع قاعدة البيانات لا يمكن الوصول إليهاكسلسلة. هذا أكثر إفادة (وأكثر سهولة في الاستخدام) من ترك الاتصال ينقطع.

تستخدم الأمثلة التالية لغة Python ، لكنها صالحة أيضًا في أي لغة برمجة نصية أخرى.

إنشاء علامة موضعية عشوائية

يقوم برنامج Python النصي التالي بإنشاء قيم عدد صحيح عشوائي لـ خط العرضو خط الطولثم يقوم بإدراج هذه القيم في ملف عنصر عندما يتم تحديث ارتباط الشبكة ، يتم تشغيل نص Python النصي مرة أخرى ويقوم بإنشاء KML بقيم خطوط الطول والعرض الجديدة.

#! / usr / bin / python استيراد خط عرض عشوائي = random.randrange (-90، 90) longitude = random.randrange (-180، 180) kml = ("\ ن "" \ ن "" \ ن "" علامة موضعية عشوائية\ ن "" \ ن "" ٪ d ،٪ d\ ن ""\ ن ""\ ن """)٪ (خطوط الطول والعرض) اطبع" نوع المحتوى: application / vnd.google-earth.kml + xml \ n "print kml

فيما يلي مثال لملف KML يحتوي على ارتباط شبكة يقوم بتحميل نص Python النصي:




روابط الشبكة
0
0
مثال على ارتباط الشبكة 1

علامة موضعية عشوائية
0
0
برنامج نصي بسيط من جانب الخادم يقوم بإنشاء عشوائي جديد
علامة موضعية في كل مكالمة

0
0

http: // yourserver.com/cgi-bin/randomPlacemark.py



استعلامات التحديث القائمة على العرض

ارتباط الشبكة القياسي هو ارتباط أحادي الاتجاه: تتدفق البيانات فقط من الخادم إلى برنامج Google Earth. يتيح التحديث المستند إلى العرض الاتصال ثنائي الاتجاه. عندما يكون التحديث المستند إلى العرض نشطًا ، يقوم برنامج Google Earth بإرجاع إحداثيات العرض إلى الخادم في وقت محدد. قد يكون هذا كل نثوانٍ أو دقائق أو ساعات ، أو بمجرد انقضاء فترة زمنية معينة منذ توقف المشهد عن الحركة. ارى في مرجع KML 2.2.

يتم إرجاع الإحداثيات إلى الخادم عن طريق HTTP GET الذي يلحق الإحداثيات على النحو التالي (هذه هي معلومات المربع المحيط الافتراضي):

GET / path / to / sever / script / query؟ BBOX = HTTP / 1.1

إذا تم تقديم الطلب أثناء نظر المستخدم إلى سان فرانسيسكو ، فقد تبدو الإحداثيات على النحو التالي:

احصل على /path/to/server/script/query؟BBOX=-122.497790،37.730385،-122.380087،37.812331 HTTP / 1.1

يمكن استخدام هذه الميزة لبعض التطبيقات الإبداعية للغاية ، ولكن لتبدأ ، يتم تقديم مثال بسيط أدناه.

تتبع نقطة مباشرة تحت وجهة نظرك

يوزع نص Python النصي التالي من جانب الخادم رسالة الإرجاع التي أرسلها برنامج Google Earth ويستجيب بعلامة موضعية في وسط الشاشة. في كل مرة يتم فيها تحديث ارتباط الشبكة ، يتم إنشاء علامة موضعية جديدة.

#! / usr / bin / python import cgi url = cgi.FieldStorage () bbox = url ["BBOX"]. value bbox = bbox.split ("،") west = float (bbox) south = float (bbox) east = تعويم (bbox) شمال = تعويم (bbox) centre_lng = ((شرق - غرب) / 2) + غرب centre_lat = ((شمال - جنوب) / 2) + جنوب kml = ("\ ن "" \ ن "" \ ن "" علامة موضعية متمحورة حول العرض\ ن "" \ ن "" ٪ .6f،٪. 6f\ ن ""\ ن ""\ ن """)٪ (center_lng، center_lat) اطبع" نوع المحتوى: application / vnd.google-earth.kml + xml \ n "print kml

وهنا ملف KML لارتباط الشبكة الذي يقوم بتحميل نص Python النصي:




روابط الشبكة
0
0
مثال على ارتباط الشبكة 2

عرض علامة موضعية مركزية
0
0
يسمح التحديث المستند إلى العرض للخادم البعيد بالحساب
وسط الشاشة وإرجاع علامة موضعية.

0
0

http: // yourserver.com/cgi-bin/viewCenteredPlacemark.py

2
onStop
1



يمكن استخدام المبدأ الموضح في هذا المثال لبعض التطبيقات المعقدة للغاية. على سبيل المثال ، إذا كانت لديك قاعدة بيانات للمعلومات الجغرافية ، فيمكنك استخراج إحداثيات العارض ، وإجراء مكالمة إلى قاعدة البيانات للحصول على البيانات الخاصة بالعرض ، وإعادتها إلى Google Earth كملف KML.

3 أنواع MIME لملفات KML

عند الاستجابة لطلب من Google Earth (أو أي مستعرض Earth) ، يجب أن يتبع خادم KML مجموعة معينة من القواعد حتى يتمكن Google Earth من تفسير استجاباته بشكل صحيح.

عند النجاح ، يجب على الخادم إرجاع رمز استجابة HTTP 200 وتعيين نوع محتوى الاستجابة إلى نوع MIME مناسب ، كما هو موضح هنا.

يقرأ برنامج Google Earth ملفات KML و KMZ. نوع MIME لملفات KML هو

  • التطبيق / vnd.google-earth.kml + xml

نوع MIME لملفات KMZ هو

  • التطبيق / vnd.google-earth.kmz

بالنسبة إلى Apache ، أضف هذه السطور إلى ملف httpd.confملف:

  • تطبيق AddType / vnd.google-earth.kml + xml .kml
  • تطبيق AddType / vnd.google-earth.kmz .kmz

راجع وثائق Microsoft للحصول على تفاصيل حول إعداد أنواع MIME على IIS الخاص بـ Microsoft.

يجب أن يحتوي نص الرد على بيانات KML صالحة ، بما في ذلك إعلان XML (). إذا قام الخادم بإرجاع ملف KML غير صالح ، فسيتوقف ارتباط الشبكة ، ويتم إلغاء تنشيطه ، وإخراج رسالة خطأ.

تنسيق KML هو امتداد يخزن البيانات الجغرافية للميزات في برنامج Google Earth. تتضمن هذه المعلومات علامات موضعية على الخريطة ، ومنطقة عشوائية على شكل مضلع أو خطوط ، ونموذج ثلاثي الأبعاد ، وصورة لجزء من الخريطة.

لنفكر في التطبيقات التي تتفاعل مع هذا التنسيق.

جوجل إيرث

    1. بعد البدء ، انقر فوق "افتح"في القائمة الرئيسية.

  1. ابحث عن الدليل مع الكائن الأصلي. في حالتنا ، يحتوي الملف على معلومات الموقع. اضغط عليها واضغط على "افتح".

واجهة البرنامج مع الإشارة إلى الموقع في شكل ملصق.

دفتر

المفكرة هو تطبيق Windows مدمج لإنشاء ملفات مستندات نصية... يمكن أن يعمل أيضًا كمحرر كود لتنسيقات معينة.

    1. قم بتشغيل هذا البرنامج. لعرض الملف ، حدد "افتح"على القائمة.

  1. نحن نختار "كل الملفات"في المجال المناسب. بعد تحديد الكائن المطلوب ، انقر فوق "افتح".

عرض مرئي لمحتويات الملف في برنامج "المفكرة".

يمكننا القول أن امتداد KML له توزيع ضئيل ، ويستخدم حصريًا في Google Earth ، ولن يكون عرض مثل هذا الملف من خلال برنامج Notepad مفيدًا لأي شخص.