ملفات KMZ

ما هو ملف KMZ؟

يتكوَّن ملف KMZ من ملف KML رئيسي ولا يتضمّن أي ملفات داعمة أو أكثر في حزمة واحدة باستخدام أداة ضغط ZIP تُسمى أرشيف. يمكن بعد ذلك تخزين ملف KMZ وإرساله بالبريد الإلكتروني ككيان واحد. يمكن لـ NetworkLink جلب ملف KMZ من خادم الويب. عند فك ضغط ملف KMZ، يتم فصل ملف .kml الرئيسي وملفاته الداعمة إلى تنسيقاته الأصلية وبنية الدليل، مع أسماء ملفاته الأصلية وإضافاته. بالإضافة إلى كونه تنسيق أرشيف، فإنه يتم ضغطه أيضًا، ولذلك لا يمكن أن يتضمن الأرشيف سوى ملف KML كبير واحد. وبناءً على محتوى ملف KML، تؤدي هذه العملية عادة إلى ضغط 10:1. يمكن عرض ملف KML بحجم 10 كيلوبايت مع ملف KMZ بحجم 1 كيلوبايت.

يمكن لبرنامج Google Earth وخرائط Google قراءة ملفات KML وKMZ مباشرة، كما يمكنهم حفظ الملفات كملفات KMZ. تتم تسمية ملف KML الرئيسي افتراضيًا باسم doc.kml.

ملاحظة: لمزيد من التوضيح، تشير هذه الصفحة إلى ملف KML الرئيسي داخل أرشيف KMZ باسم doc.kml. يمكن أن يحتوي ملف KML الأساسي هذا على أي اسم، طالما أنه ينتهي بـ .kml، ما دام هناك ملف .kml واحد فقط.

يجب إنشاء ملف KMZ إذا كان حجم ملف doc.kml أكبر من 10 كيلوبايت، أو إذا كان ملف doc.kml يشير إلى ملفات أخرى (الصور، وملفات الصوت، والنماذج، والزخارف).

يقدم هذا القسم بعض التوصيات البسيطة لمنشئي ملفات KML/KMZ. المثال المستخدم في هذا القسم هو موقع جيمي بافيت على الويب، والذي يستخدم تنسيق KML لعرض الجولات المخطط لها والحفلات الموسيقية ذات الصلة على Google Earth.


تنزيل ملف KMZ الذي يحتوي على هذه الجولة. (يتم الاستخدام عن طريق الإذن.)

ملاحظة: يفرض برنامج Google Earth 6.0 بصراً مجموعة الإرشادات التالية عند حل المراجع النسبية في ملف KMZ (راجع العنصر 4 بشكل خاص في القائمة التالية). كانت الإصدارات السابقة من Google Earth أقل صرامة في كيفية حل هذه المراجع النسبية. نتيجة لذلك، قد تحتاج الآن إلى تعديل بعض المراجع ذات الصلة التي عملت في Google Earth 5.2 والإصدارات السابقة لكي تعمل مع الإصدارات 6.0 والإصدارات الأحدث.

اتبع هذه الإرشادات عند إنشاء ملفات KMZ:

  1. أنشئ مجلدًا يحتوي على محتويات ملف KMZ. أدخل اسمًا وصفيًا (على سبيل المثال، buffetthawaiitour).
  2. ضع ملف KML الافتراضي (doc.kml، أو أي اسم تريد منحه) في المستوى العلوي ضمن هذا المجلد. يجب تضمين ملف .kml واحد فقط. (عندما يفتح برنامج Google Earth ملف KMZ، فإنه يقوم بفحص الملف، ويبحث عن أول ملف .kml في هذه القائمة. ويتجاهل جميع ملفات .kml اللاحقة، إن وجدت، في الأرشيف. وإذا كان الأرشيف يحتوي على ملفات .kml متعددة، فلا يمكنك التأكد من الملف الذي سيتم العثور عليه أولاً، لذلك ستحتاج إلى تضمين ملف واحد فقط.)
  3. يمكنك تضمين مجلد فرعي واحد أو أكثر داخل المجلد الرئيسي لجمع الصور أو النماذج أو الزخارف أو الملفات الصوتية أو الموارد الأخرى المُشار إليها في ملف doc.kml. تعتمد درجة تعقيد بنية الدليل هذه على عدد الملفات الداعمة والإعدادات المفضّلة للمؤسسة.
  4. استخدِم المراجع ذات الصلة. راجع المراجع إلى الملفات الخارجية للحصول على مزيد من التفاصيل. تبدأ جميع المسارات النسبية داخل المجلد الأساسي الموضح أعلاه في العنصر 1. على سبيل المثال، إذا كان ملف KMZ vacationJournal.kmz على سطح المكتب، في حين أن ملف doc.kml الخاص به يشير إلى ملف myfavoritePlace.jpg ، الموجود أيضًا على سطح المكتب، فإن <href> في ملف doc.kml هو ../myFavoritePlace.jpg.
  5. لا تستخدم الامتداد .kmz لأي من المجلدات الفرعية داخل ملف KMZ. يتم الاحتفاظ بالامتداد .kmz لاسم الأرشيف نفسه.
    1. على سبيل المثال، في ما يلي بنية ملف KMZ لجولة Jimmy Buffett:

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

      في ما يلي رمز KML لأحد مراجع الرموز:

      <IconStyle>
        <scale>1.1</scale>
        <Icon>
          <href>files/icon_surfing.png</href>
        </Icon>
      </IconStyle>
      

      في ما يلي رمز KML كمرجع لملف الصوت:

      <gx:SoundCue>
        <href>files/Margaritaville.mp3</href>
      </gx:SoundCue>
      

      مراجع للملفات الخارجية

      يحتوي ملف doc.kml عادة على عدد من الروابط إلى ملفات أخرى مثل الصور والرموز والنماذج والزخارف والملفات الصوتية. يتم تضمين الإشارات إلى هذه الملفات في سمة href (أو عنصر <href> أحيانًا)، والذي يمكن العثور عليه في عناصر KML التالية:

      ويمكن أن تكون هذه الروابط الخارجية المراجع المطلقة أو النسبية، كما هو موضّح في القسم التالي. يمكنهم الرجوع إلى الملفات داخل نفس ملف KMZ، أو إلى الملفات الموجودة في ملفات KMZ الأخرى أو المخزنة في مكان آخر على الويب. باستثناء العنصر <sourceHref> في <Model>، يتم دائمًا حل المراجع النسبية في ما يتعلق بملف doc.kml، كما هو موضح في القسم حل المراجع النسبية.

      المراجع المطلقة مقابل المراجع النسبية

      تحتوي المراجع المطلقة على عنوان URL الكامل للملف المرتبط. وتُعد هذه الملفات مفيدة للملفات المنشورة على خادم مركزي وغير مبهمة. ومع ذلك، إذا كنت تستخدم مراجع مطلقة لملفات محلية، ستتعطل الروابط عند نقل الملفات إلى نظام جديد. وتتجنب المراجع ذات الصلة هذه المشكلة.

      في ما يلي مثال على مرجع مطلق لملف تم تخزينه على خادم مركزي:

      <Icon>
        <href>http://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png</href>
      </Icon>
      

      حل المراجع النسبية

      بوجه عام، يتم حل المراجع النسبية في ما يتعلق بملف doc.kml. يتم التعامل مع أي عنوان URL نسبي مقابل الدليل الذي يحتوي على هذا الملف، والذي يعتبر جذر ملف KMZ. في مثال جولة هاواي، يشبه عنوان URL الأساسي ما يلي (وفقًا للمكان الذي يتم فيه تنزيل ملف KMZ):

      buffetthawaiitour.kmz

      إذا كنت تريد الرجوع إلى ملف موجود في ملف KMZ مختلف (على سبيل المثال، إلى images/jimmyphoto.jpg الموجود في margaritavillealbum.kmz، فستستخدم علامة ".." للانتقال إلى مستوى واحد في بنية الدليل، والذي سيخرجك من ملف KMZ الحالي (buffetthawaiitour.kmz):

      <href>../margaritavillealbum.kmz/images/jimmyphoto.jpg"</href>

      ملاحظة: تستند قواعد حل المراجع النسبية في أرشيف KMZ إلى معيار RFC 3986 للقسم 5 لحل عناوين URL على الويب. ويتم تحديد عنوان URL الأساسي من خلال موقع ملف doc.kml، ويتم تحليل جميع عناوين URL ذات الصلة بالنسبة إلى عنوان URL الأساسي هذا.

      الاستثناء: <sourceHref> في <Model>

      يحتوي العنصر <Model> على عنصر <Link> يحدد ملف COLLADA لتحميله إلى Google Earth. تحدد ملفات COLLADA عناصر ثلاثية الأبعاد ويكون امتداد الملف .dae. يحتوي العنصر <Model> أيضًا على عنصر <Alias> يحتوي على تعيين بين <targetHref> (ملف الزخرفة المطلوب جلبه Google Earth) وعنصر <sourceHref> (المسار المحدد لملف الزخرفة في ملف COLLADA .dae). إذا كان عنصر <sourceHref> يحتوي على مسار نسبي، فسيفسر برنامج Google Earth هذا المسار بالنسبة إلى ملف dae .الذي يشير إليه (وليس نسبيًا لملف doc.kml كما في جميع الحالات الأخرى). مثلاً:

      <Model>
      .
      .
      .
        <Link>
          <href>MackyBldg.kmz/files/CU Macky.dae</href>
        </Link>
        <ResourceMap>
          <Alias>
            <sourceHref>../files/StairsnoCulling.jpg</sourceHref>
            <targetHref>../files/StairsnoCulling.jpg</targetHref>
          </Alias>
          <Alias>
            <sourceHref>../files/sideturretnoCulling.jpg</sourceHref>
            <targetHref>../files/sideturretnoCulling.jpg</targetHref>
      	</Alias>
      .
      .
      .
      </Model>
      

      إنشاء أرشيف KMZ

      استخدم مستكشف Windows أو مستكشف Mac لإنشاء أرشيف مضغوط. حدد محتويات المجلد الذي يحتوي على الملف doc.kml والموارد ذات الصلة واختر خيارًا مثل "WinZip > Add to Zip file ...." تشتمل مكتبة JAR JAR أيضًا على مكتبة Zip لإنشاء أرشيف Zip واستخراجه برمجيًا، ويتضمن Linux إصدارات سطر أوامر zip و zip.

      ملاحظة: عند إنشاء أرشيف Zip، تأكد من تحديد محتويات المجلد الذي يحتوي على ملف doc.kml، وليس المجلد نفسه.

      بعد إنشاء الأرشيف، غيِّر امتداد الملف .zip إلى .kmz. لاستخراج الملفات من الأرشيف، غيِّر امتداد الملف .kmz مرة أخرى إلى .zip واستخدم الأداة المضغوطة لفك ضغط الأرشيف.

      أرشيفات Google Earth وKMZ

      استخدام العنصر <iframe>

      ضمن بالونات KML <description> (الوصف)، يتم التعامل مع معظم عناصر HTML في Google Earth كما يتم التعامل معها في متصفحات الويب القياسية. ومع ذلك، يتم التعامل مع <iframe> داخل بالون وصف على أنه HTML مباشر، مما يعني أن ميزات KML الخاصة لا يتم التعرف عليها. على سبيل المثال، لا يمكن للإطار <iframe> عرض موارد KMZ، ولا يتم التعرُّف على روابط الارتساء المحلية، مثل <a href="#my feature;flyto">. لا يمكن للعنصر <src> داخل عنصر <iframe> الإشارة إلى ملف محلي على القرص، ولا يمكن أن يشير إلى ملف داخل ملف KMZ، حيث يجب أن يشير إلى عنوان URL على الإنترنت يمكن للمتصفح زيارته.