جيوهاش

الخلية 6g [ 1 ] وشبكتها الفرعية.

Geohash هو نظام ترميز جغرافي متاح للجميع ، ابتكره غوستافو نيمير عام 2008 [ 2 ] ، وهو يُرمّز الموقع الجغرافي في سلسلة قصيرة من الأحرف والأرقام. وقد طرح جي إم مورتون أفكارًا مشابهة عام 1966 [ 3 ]. وهو عبارة عن بنية بيانات مكانية هرمية تُقسّم الفضاء إلى وحدات على شكل شبكة ، وهو أحد التطبيقات العديدة لما يُعرف بمنحنى الترتيب Z ، وبشكل عام المنحنيات التي تملأ الفراغ .

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

تاريخ

تم توثيق الجزء الأساسي من خوارزمية Geohash وأول مبادرة لحل مماثل في تقرير لـ جي إم مورتون عام 1966 بعنوان "قاعدة بيانات جيوديسية موجهة بالحاسوب وتقنية جديدة في تسلسل الملفات". [ 3 ] استُخدم عمل مورتون في تطبيقات فعالة لمنحنى الترتيب Z ، كما هو الحال في إصدار Geohash-integer الحديث (2014) (المبني على التداخل المباشر للأعداد الصحيحة 64 بت )، لكن اقتراحه للترميز الجغرافي لم يكن سهل القراءة ولم يحظَ بشعبية.

يبدو أنه في أواخر العقد الأول من الألفية الثانية، لم يكن جي . نيمير على دراية بعمل مورتون، فأعاد ابتكاره، مضيفًا إليه استخدام تمثيل base32 . وفي فبراير 2008، بالتزامن مع الإعلان عن النظام، أطلق موقعًا إلكترونيًا يُمكّنgeohash.org المستخدمين من تحويل الإحداثيات الجغرافية إلى عناوين URL مختصرة تُحدد المواقع على سطح الأرض بشكل فريد ، مما يُسهّل الإشارة إليها في رسائل البريد الإلكتروني والمنتديات والمواقع الإلكترونية .

تم تطوير العديد من الاختلافات، بما في ذلك الرابط المختصر لـ OpenStreetMap [ 4 ] (باستخدام base64 بدلاً من base32) في عام 2009، و Geohash ذو 64 بت [ 5 ] في عام 2014، و Hilbert-Geohash الغريب [ 6 ] في عام 2016، وغيرها.

الاستخدامات النموذجية والرئيسية

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

إلى جانب عرض خطي العرض والطول الموافقين لرمز Geohash المحدد، يُعرض للمستخدمين الذين ينتقلون إلى رمز Geohash على موقع geohash.org خريطة مضمنة، ويمكنهم تنزيل ملف GPX ، أو نقل نقطة الطريق مباشرةً إلى بعض أجهزة استقبال GPS . كما تُوفر روابط لمواقع خارجية قد تُقدم تفاصيل إضافية حول الموقع المحدد.

على سبيل المثال، ينتج زوج الإحداثيات 57.64911,10.40744(بالقرب من طرف شبه جزيرة يوتلاند ، الدنمارك ) تجزئة أقصر قليلاً من u4pruydqqvj.

تتمثل الاستخدامات الرئيسية لرموز Geohashes فيما يلي:

  • كمعرّف فريد.
  • لتمثيل بيانات النقاط، على سبيل المثال في قواعد البيانات.

وقد تم اقتراح استخدام رموز Geohashes أيضًا للوسم الجغرافي .

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

الوصف الفني

وصف رسمي للوجهات النظر الحسابية والرياضية.

التمثيل النصي

للحصول على ترجمة دقيقة لخطوط الطول والعرض، يُعدّ Geohash فهرسًا مكانيًا أساسه 4 ، لأنه يحوّل إحداثيات خطوط الطول والعرض المتصلة إلى شبكة منفصلة هرمية، باستخدام تقسيم رباعي متكرر للفضاء. ولجعله رمزًا مضغوطًا، يستخدم أساس 32 ويمثل قيمه بالأبجدية التالية، أي "التمثيل النصي القياسي".

عشري0123456789101112131415
الأساس 320123456789بجدهـوز
 
عشري16171819202122232425262728293031
الأساس 32حجكمنصqرsتuvwxyz

تستخدم "أبجدية Geohash" (32ghs) جميع الأرقام من 0 إلى 9 وجميع الأحرف الصغيرة باستثناء "a" و "i" و "l" و "o".

على سبيل المثال، باستخدام الجدول أعلاه والثابتب=32{\displaystyle B=32}ezs42، يمكن تحويل رمز Geohash إلى تمثيل عشري باستخدام الترميز الموضعي العادي :

[ ezs42] 32ghs =[(هـ×ب4)+(z×ب3)+(s×ب2)+(4×ب1)+(2×ب0)]32زحs{\displaystyle [(e\times B^{4})+(z\times B^{3})+(s\times B^{2})+(4\times B^{1})+(2\times B^{0})]_{32ghs}}
=[هـ]32زحs×ب4+[z]32زحs×ب3+[s]32زحs×ب2+[4]32زحs×ب1+[2]32زحs×ب0{\displaystyle [e]_{32ghs}\times B^{4}+[z]_{32ghs}\times B^{3}+[s]_{32ghs}\times B^{2}+[4]_{32ghs}\times B^{1}+[2]_{32ghs}\times B^{0}}
=[13]10×ب4+[31]10×ب3+[24]10×ب2+[4]10×ب1+[2]10×ب0{\displaystyle [13]_{10}\times B^{4}+[31]_{10}\times B^{3}+[24]_{10}\times B^{2}+[4]_{10}\times B^{1}+[2]_{10}\times B^{0}}
=13×1048576+31×32768+24×1024+4×32+2×1{\displaystyle 13\times 1048576+31\times 32768+24\times 1024+4\times 32+2\times 1}=13631488+1015808+24576+128+2=14672002{\displaystyle 13631488+1015808+24576+128+2=14672002}

التمثيل الهندسي

تتميز هندسة Geohash بتمثيل مكاني مختلط:

  • يتم تمثيل Geohashes المكونة من 2، 4، 6، ... أرقام ( الأرقام الزوجية ) بواسطة منحنى من الدرجة Z في "شبكة منتظمة" حيث يكون للزوج الذي تم فك تشفيره (خط العرض، خط الطول) عدم يقين موحد، وهو صالح كمعرف URI جغرافي .
  • يتم تمثيل رموز Geohashes المكونة من 1، 3، 5، ... d أرقام (أرقام فردية) بواسطة "منحنى من الدرجة الأولى". يختلف عدم اليقين في خط العرض وخط الطول للزوج الذي تم فك تشفيره (يتم اقتطاع خط الطول).
تم الحصول على منحنى شبكة 32 خلية عن طريق دمج خليتين في 2 من "المستوى التالي" (شبكة 64 خلية موضحة هنا) للحصول على تمثيل هندسي لـ "Geohash ذي الأرقام الفردية".

من الممكن إنشاء "منحنى الترتيب И" من منحنى الترتيب Z عن طريق دمج الخلايا المتجاورة وفهرسة الشبكة المستطيلة الناتجة بواسطة الدالةج=أنا2{\displaystyle j=\left\lfloor {\frac {i}{2}}\right\rfloor }يوضح الرسم التوضيحي كيفية الحصول على شبكة من 32 خلية مستطيلة من شبكة من 64 خلية مربعة.

أهم ما يميز نظام Geohash بالنسبة للبشر هو أنه يحافظ على التسلسل الهرمي المكاني في بادئات الرموز . على سبيل المثال، في الرسم التوضيحي "شبكة رقم Geohash واحدة" المكونة من 32 مستطيلاً، أعلاه، يتم الحفاظ على المنطقة المكانية للرمز e(مستطيل الدائرة الرمادية المائلة للزرقة في الموضع 4،3) مع البادئة eفي "شبكة رقمين" المكونة من 1024 مستطيلاً (يظهر المقياس emوالدوائر الرمادية المائلة للخضرة إلى الزرقاء في الشبكة).

الخوارزمية والمثال

باستخدام رمز التجزئة ezs42كمثال، إليك كيفية فك تشفيره إلى خط عرض وخط طول عشريين. الخطوة الأولى هي فك تشفيره من النص " الأساس 32ghs "، كما هو موضح أعلاه، للحصول على التمثيل الثنائي:

[هـ]32زحs=[13]10=[01101]2{\displaystyle [e]_{32ghs}=[13]_{10}=[01101]_{2}}
[z]32زحs=[31]10=[11111]2{\displaystyle [z]_{32ghs}=[31]_{10}=[11111]_{2}}
[s]32زحs=[24]10=[11000]2{\displaystyle [s]_{32ghs}=[24]_{10}=[11000]_{2}}
[4]32زحs=[4]10=[٠٠١٠٠]2{\displaystyle [4]_{32ghs}=[4]_{10}=[00100]_{2}}
[2]32زحs=[2]10=[٠٠٠١٠]2{\displaystyle [2]_{32ghs}=[2]_{10}=[00010]_{2}}.

ينتج عن هذه العملية البتات0110111111110000010000010 . بدءًا من العد من الجانب الأيسر مع وجود الرقم 0 في الموضع الأول، تشكل الأرقام في المواضع الزوجية رمز خط الطول ( 0111110000000)، بينما تشكل الأرقام في المواضع الفردية رمز خط العرض ( 101111001001).

يُستخدم كل رمز ثنائي في سلسلة من عمليات القسمة، مع مراعاة بت واحد في كل مرة، من اليسار إلى اليمين. بالنسبة لقيمة خط العرض، تُقسم الفترة من -90 إلى +90 على 2، مما ينتج عنه فترتان: من -90 إلى 0، ومن 0 إلى +90. بما أن البت الأول هو 1، تُختار الفترة الأعلى، وتصبح هي الفترة الحالية. تُكرر هذه العملية لجميع البتات في الرمز. في النهاية، تكون قيمة خط العرض هي مركز الفترة الناتجة. تُعالج خطوط الطول بطريقة مماثلة، مع الأخذ في الاعتبار أن الفترة الأولية هي من -180 إلى +180.

على سبيل المثال، في رمز خط العرض 101111001001، تكون البتة الأولى 1، لذا نعلم أن خط العرض يقع بين 0 و90. بدون بتات إضافية، سنفترض أن خط العرض هو 45، مما يعطينا خطأً قدره ±45. بما أن هناك بتات إضافية متاحة، يمكننا المتابعة مع البتة التالية، وكل بتة لاحقة تقلل هذا الخطأ إلى النصف. يوضح هذا الجدول تأثير كل بتة. في كل مرحلة، يتم تمييز النصف ذي الصلة من النطاق باللون الأخضر؛ البتة المنخفضة تحدد النطاق الأدنى، والبتة العالية تحدد النطاق الأعلى.

يُظهر عمود "القيمة المتوسطة" خط العرض، وهو ببساطة متوسط ​​قيمة النطاق. كل بت لاحق يجعل هذه القيمة أكثر دقة.

رمز خط العرض 101111001001
موضع البتقيمة البتمينمنتصفالأعلىالقيمة المتوسطةأقصى خطأ
01-90.0000.00090.0004500045000
100.0004500090.00022.50022.500
210.00022.5004500033.75011.250
3122.50033.7504500039.3755.625
4133.75039.3754500042.1882.813
5139.37542.1884500043.5941.406
6042.18843.5944500042.8910.703
7042.18842.89143.59442.5390.352
8142.18842.53942.89142.7150.176
9042.53942.71542.89142.6270.088
10042.53942.62742.71542.5830.044
11142.53942.58342.62742.6050.022
رمز خط الطول 0111110000000
موضع البتقيمة البتمينمنتصفالأعلىالقيمة المتوسطةأقصى خطأ
00-180.0000.000180.000-90.00090.000
11-180.000-90.0000.000-45.00045000
21-90.000-45.0000.000-22.50022.500
31-45.000-22.5000.000-11.25011.250
41-22.500-11.2500.000-5.6255.625
51-11.250-5.6250.000-2.8132.813
60-5.625-2.8130.000-4.2191.406
70-5.625-4.219-2.813-4.9220.703
80-5.625-4.922-4.219-5.2730.352
90-5.625-5.273-4.922-5.4490.176
100-5.625-5.449-5.273-5.5370.088
110-5.625-5.537-5.449-5.5810.044
120-5.625-5.581-5.537-5.6030.022

(تم تقريب الأرقام في الجدول أعلاه إلى 3 منازل عشرية للتوضيح)

ينبغي إجراء التقريب النهائي بعناية بطريقة تضمن

مينرouند(vألuهـ)الأعلى{\displaystyle \min \leq \mathrm {round} (value)\leq \max }

لذا، في حين أن تقريب العدد 42.605 إلى 42.61 أو 42.6 صحيح، فإن تقريبه إلى 43 ليس كذلك.

الأرقام والدقة بالكيلومتر

طول رمز التجزئة الجغرافيةأجزاء latأجزاء طويلةخطأ خط العرضخطأ في الطولخطأ كيلومتر
123±23±23± 2500 كم (1600 ميل)  
255±2.8±5.6± 630 كم (390 ميل)  
378±0.70±0.70± 78 كم (48 ميل)  
41010±0.087±0.18± 20 كم (12 ميل)  
51213±0.022±0.022± 2.4 كم (1.5 ميل؛ 2400 متر)   
61515±0.0027±0.0055± 0.61 كم (0.38 ميل؛ 610 م)   
71718±0.00068±0.00068± 0.076 كم (0.047 ميل؛ 76 م)   
82020±0.000085±0.00017± 0.019 كم (0.012 ميل؛ 19 م)   

القيود عند استخدامها لتحديد القرب

الحالات الاستثنائية

يمكن استخدام رموز Geohash لتحديد النقاط المتقاربة بناءً على بادئة مشتركة. مع ذلك، فإن المواقع القريبة من بعضها ولكن على جانبي خط الزوال 180 درجة ستؤدي إلى رموز Geohash بدون بادئة مشتركة (خطوط طول مختلفة لمواقع جغرافية متقاربة). كما أن النقاط القريبة من القطبين الشمالي والجنوبي ستكون لها رموز Geohash مختلفة تمامًا (خطوط طول مختلفة لمواقع جغرافية متقاربة).

لن يشترك موقعان متجاوران على جانبي خط الاستواء (أو خط غرينتش) في بادئة طويلة، لأنهما ينتميان إلى نصفين مختلفين من الكرة الأرضية. ببساطة، سيكون خط العرض (أو خط الطول) الثنائي لأحد الموقعين 011111... والآخر 100000....، لذا لن يشتركا في بادئة، وستكون معظم البتات معكوسة. يمكن اعتبار هذا أيضًا نتيجةً للاعتماد على منحنى الترتيب Z (والذي يُمكن تسميته بشكل أدق بزيارة الترتيب N في هذه الحالة) لترتيب النقاط، حيث قد تتم زيارة نقطتين متجاورتين في أوقات مختلفة تمامًا. مع ذلك، ستكون نقطتان لهما بادئة طويلة متجاورتين.

لإجراء بحث تقريبي، يمكن حساب الزاوية الجنوبية الغربية (رمز جغرافي منخفض مع خطوط طول وعرض منخفضة) والزاوية الشمالية الشرقية (رمز جغرافي مرتفع مع خطوط طول وعرض مرتفعة) لمربع محيط، ثم البحث عن الرموز الجغرافية بين هاتين النقطتين. سيسترجع هذا البحث جميع النقاط على منحنى الترتيب z بين الزاويتين، وهو ما قد ينتج عنه عدد كبير جدًا من النقاط. كما أن هذه الطريقة غير فعالة عند خط الطول 180 درجة والقطبين. يستخدم Solr قائمة تصفية من البادئات، وذلك بحساب بادئات أقرب المربعات إلى الرمز الجغرافي..

اللاخطية

بما أن رمز التجزئة الجغرافية (في هذا التطبيق) يعتمد على إحداثيات خط الطول وخط العرض، فإن المسافة بين رمزي تجزئة جغرافية تعكس المسافة في إحداثيات خط العرض/خط الطول بين نقطتين، وهو ما لا يترجم إلى مسافة فعلية، انظر صيغة هافرسين .

مثال على اللاخطية في نظام خطوط الطول والعرض:

  • عند خط الاستواء (0 درجة) يبلغ طول درجة خط الطول 111.320  كم، بينما يبلغ طول درجة خط العرض 110.574  كم، وهو خطأ بنسبة 0.67٪.
  • عند خط عرض 30 درجة (خطوط العرض المتوسطة)، يكون الخطأ 110.852/96.486 = 14.89%
  • عند 60 درجة (القطب الشمالي العالي) يكون الخطأ 111.412/55.800 = 99.67%، ويصل إلى اللانهاية عند القطبين.

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

على الرغم من أنه من الممكن تطبيق التجزئة الجغرافية على منطقة ذات نظام إحداثيات ديكارتية ، إلا أنها ستنطبق فقط على المنطقة التي ينطبق عليها نظام الإحداثيات.

على الرغم من هذه المشكلات، هناك حلول بديلة ممكنة، وقد تم استخدام الخوارزمية بنجاح في Elasticsearch، [ 7 ] و MongoDB، [ 8 ] وHBase، وRedis، [ 9 ] و Accumulo [ 10 ] لتنفيذ عمليات البحث عن التقارب.

أنظمة فهرسة مماثلة

من الممكن استخدام نفس رموز Base32-Geohash في منحنيات فهرسة مختلفة. بالنسبة لتبليط الأشكال الرباعية، يُعد منحنى هيلبرت البديل الأمثل لمنحنى مورتون ، المستخدم على سبيل المثال في هندسة S2. تُربط الرموز ذات العدد الزوجي من الأرقام (2، 4، ...) بشبكات منتظمة، بينما يجب ربط الرموز ذات العدد الفردي من الأرقام (1، 3، ...) بشبكة وسيطة غير منتظمة، حيث تُفهرس الخلايا بواسطة منحنيات متدهورة .

يُعدّ استخدام الرموز المكانية بديلاً لتخزين رموز Geohashes كسلاسل نصية في قاعدة البيانات ، وتُسمى أيضاً بالمفاتيح المكانية، وهي مشابهة لـ QuadTiles. [ 11 ] [ 12 ]

في بعض نظم المعلومات الجغرافية وقواعد البيانات المكانية للبيانات الضخمة ، يمكن استخدام الفهرسة القائمة على منحنى هيلبرت كبديل لمنحنى الترتيب Z ، كما هو الحال في مكتبة S2 Geometry . [ 13 ]

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

الترخيص

تم وضع خوارزمية Geohash في المجال العام من قبل مخترعها في إعلان عام بتاريخ 26 فبراير 2008. [ 16 ]

في حين تم تسجيل براءات اختراع لخوارزميات مماثلة بنجاح [ 17 ] وتم المطالبة بحقوق الطبع والنشر الخاصة بها، [ 18 ] [ 19 ] فإن GeoHash يعتمد على خوارزمية ونهج مختلفين تمامًا.

المعيار الرسمي

تم توحيد معيار Geohash تحت مسمى CTA-5009. [ 20 ]   يتبع هذا المعيار مقالة ويكيبيديا اعتبارًا من إصدار 2023، ولكنه يقدم تفاصيل إضافية في مرجع رسمي (معياري). في ظل غياب مواصفات رسمية منذ إنشاء Geohash، نشرت منظمة CTA WAVE معيار CTA-5009 للمساعدة في اعتماده على نطاق أوسع وضمان توافقه بين مختلف الجهات المنفذة في هذا القطاع.

انظر أيضاً

مراجع

  1. "6g" . مستكشف GeoHash .
  2. 1 2
    • نيمير، ج. (2008-02-26). "موقع geohash.org عام!" . مدونة لابيكس . مؤرشف من الأصل في 5 مارس 2008؛
    • ويلان، فيل (15 ديسمبر 2011). "مقدمة عن Geohash" . مدونة Big Fast . مؤرشف من الأصل في 12 يناير 2012؛
    • niemeyer (26 فبراير 2008). "geohash.org" . منتديات البحث عن الكنوز الجغرافية . مؤرشف من الأصل في 9 مارس 2018.
  3. 1 2 مورتون، جي إم (1966). "قاعدة بيانات جيوديسية موجهة بالحاسوب وتقنية جديدة في تسلسل الملفات" (ملف PDF) . أبحاث آي بي إم . آي بي إم كندا. مؤرشف من الأصل بتاريخ 25 يناير 2019.
  4. "Geohash binary 64 bits" لها حلول كلاسيكية، مثل yinqiwen/geohash-int ، وحلول محسّنة، مثل mmcloughlin/geohash-assembly .
  5. فوكوفيتش، تيبور (2016). هيلبرت-جيوهاش - تجزئة بيانات النقاط الجغرافية باستخدام منحنى هيلبرت لملء الفراغ . 70 (أطروحة). hdl : 11250/2404058 .
  6. نوع بيانات geo_shape في Elasticsearch
  7. الفهرسة الجغرافية المكانية في MongoDB
  8. دليل أوامر Redis
  9. الفهرسة المكانية والزمانية في قواعد البيانات الموزعة غير العلائقية
  10. مفاتيح مكانية
  11. بلاطات رباعية
  12. مكتبة "S2 Geometry" لتحسين الفهرسة المكانية، https://s2geometry.io ، مؤرشفة بتاريخ 11 ديسمبر 2023 في Wayback Machine
  13. "GeohashPhrase" . QA Locate . 2019-09-17 . تم الاسترجاع في 2020-06-10 .
  14. thelittlenag (11 نوفمبر 2019). "في QA Locate، نعمل على حلٍّ نُطلق عليه اسم GeohashPhrase | Hacker News" . news.ycombinator.com . تاريخ الاسترجاع: 10 يونيو 2020 .
  15. منشور إعلان geohash.org في منتدى groundspeak.com. انظر أيضًا إلى أرشيف عام 2018 على الرابط التالي: https://web.archive.org/web/20180309054335/https://forums.geocaching.com/GC/index.php?/topic/186412-geohashorg/ web.archive.org/web/20180309054335
  16. ترميز نصي مضغوط لإحداثيات خطوط الطول والعرض - براءة اختراع رقم 20050023524
  17. هل تنتهك مايكروسوفت نظام ترميز المناطق الطبيعي؟ مؤرشف بتاريخ ٢٨ ديسمبر ٢٠١٠ في أرشيف الإنترنت
  18. "نظام ترميز المناطق الطبيعية - الجوانب القانونية والترخيصية" . مؤرشف من الأصل بتاريخ 23 مايو 2019. تم الاطلاع عليه بتاريخ 26 فبراير 2008 .
  19. "التجزئة الجغرافية السريعة والقابلة للقراءة (CTA-5009)" . جمعية تكنولوجيا المستهلك® . تم الاطلاع عليه بتاريخ 4 مارس 2024 .