سؤال

أنا استخدم http://maps.google.com/maps/geo.ب خدمة الويب إلى Geocode بعض العناوين.

المشكلة التي لدي هي أن عنوان أكمل لا يعطي بالضرورة geocode أكثر دقة.

على سبيل المثال يمر في Llantysilio، Denbighshire، UK أكثر دقة بكثير من Llantysilio، Llangollen، Denbighshire، UK

لا يبدو سمة الدقة في XML مفيدة للغاية في تحديد عنوان الاختيار.

كيف تعامل أشخاص آخرون مع هذه المشكلة؟ هل هناك طريقة جيدة لاختيار أفضل جيوكود يعمل أكثر / كل الوقت؟

* قم بتحرير القليل من المعلومات الإضافية - عندما أضع في عنوان Fuller، يتم تجاهل السطر الأول للعنوان، ويقوم الجغرافيون باليقفز إلى عنوان مختلف، ولكن بالضبط، الذي يقع في الخط المركزي الموجود في الخط الإضافي المضافة إلى العنوان. في هذا المثال، يختار شارع القلعة في Middle Llangollen، ويتتجاهل Llantysilio.

تحرير بواسطة kdgregory: فيما يلي طلبات API التي استخدمتها (لا يبدو أن مفتاح API المفقود هو مشكلة):

http://maps.google.com/maps/geo?q=Llantysilio,+Denbighshire,+UK&sensor=false&output=xml

http://maps.google.com/maps/geo?q=Llantysilio,Llangollen,++Denbighshire,+UK&sensor=false&output=xml
هل كانت مفيدة؟

المحلول 5

في النهاية خلصت إلى أن هناك الكثير من المخزعات الغريبة في اتساق العنوان مع Google Geocoding Webservice في المملكة المتحدة، ولكن تمكنت في النهاية من معرفة طريقة لاستخدام الخدمات البريدية بدلا من ذلك، وهو أكثر دقة بكثير: كيف يتم ذلك

نصائح أخرى

عليك أن تفسر دقة صديقي. عادة ما تكون هناك 2 أجزاء لدقة، أولا عنوان ماكث ماك. الجزء الثاني هو الجزء المهم. يمكنك Geocode شيء على مستوى الدقة من الولايات المتحدة، أو مستوى المدينة، ومستوى zipcode النقطي، والمستوى المحتوي على الشارع أو مستوى دقة الطرود الفعلية. المثال الأول لديه 4 والثاني هو 9. لهذه الخدمة أعلى هو أفضل.

الدقة القيمة الوصف 0 دقة غير معروفة. 1 دقة مستوى البلد. 2 المنطقة (الدولة، مقاطعة، ولاية، إلخ) دقة المستوى. 3 منطقة فرعية (مقاطعة، بلدية، إلخ) دقة المستوى. 4 بلدة (مدينة، قرية) دقة المستوى. 5 رمز البريد (الرمز البريدي) دقة المستوى. 6 دقة مستوى الشارع. 7 دقة مستوى تقاطع. 8 دقة مستوى العنوان. 9 فرضية (اسم المبنى، اسم العقار، مركز التسوق، إلخ) دقة المستوى.

من المحتمل أن نلاحظ أن جوجل لا يتبع المواصفات xal, ، بل تنفذهم في مجموعة فرعية.

لذلك، هذا يعني أنك لن تتمكن بالضرورة من القيام به:

place.AddressDetails.Country.AdministrativeArea.Locality.LocalityName
place.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName
place.AddressDetails.Country.CountryName

نظرا لأن البلد والمواقع الفرعية قد يتم توفيره في حين أن المنطقة الإدارية ليست كذلك.

يتم تحديد البيانات التي يتم إرجاعها مع مقياس دقة يمنحك فكرة نسبية لما يمكنك توقعه للبيانات. لذلك، يمكنك تخزين الكائنات وختم أجزاء من العنوان الكامل باستخدام هذا المتغير ومحاولة Geocode بمثل هذه الأزياء - لا ينصح بذلك.

عادة ما يكون العنوان الكامل (بدون الطريق) طريقة جيدة لإيجاد الموقع العام. يمكنك استخدام بعض من المنطق المنجل التفضيلي المرجح يوفر تحسين العنوان.

على سبيل المثال، استخدم SetViewPort أو Setcountrycode لإعطاء عمليات البحث الخاصة بك بدقة أكثر قليلا.

تذكر، Geocoding. ليس علم. وبعد لا يمكنك أن تتوقع نتائج متسقة.

استجابة Geocode.placemark [0] عبر GMAP يمكنك التحقق من ما حصلت عليه، واتخاذ المستوى أو المحاولة مرة أخرى. اخترت الافتراضي بالترتيب

place.AddressDetails.Country.AdministrativeArea.Locality.LocalityName
place.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName
place.AddressDetails.Country.CountryName

يمكن أن يكون أكثر تسمية بشكل منطقي كما هو موضح أعلاه. GMAPS 3 يعمل بشكل غير متوافق مع V2.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top