Daha çox

Şəhərlər üçün dəqiq enlik və enlem məlumatlarını necə tapmaq olar?


Şəhərlərin koordinatlarını məkan db-sinə qoymaq və sonra müəyyən bir məsafədə müəyyən bir şəhərdən şəhərlər tapmaq istəyirəm. Bu funksiyaların PostGis kimi bir məkan db-də hazır olacağını ümid edirəm. Birincisi, bunu fərz etməkdə haqlıyam?

Qarşılaşdığım problem budur - bu koordinatları haradan saxlayacağımı bilmirəm. Yanımda var - http://download.geonames.org/export/dump/ və bütün şəhərlərin koordinatları olan 290 mb (allcountries.zip) faylı var, amma nə qədər dəqiq olduğuna əmin deyiləm. Bu məlumatları vacib bir şey yaratmaq üçün istifadə edəcəyəm, buna görə burada kiminsə daha dəqiq və ya qısa bir şey istifadə edib etmədiyini bilmək istəyirəm.

Əgər şəhərlər bir-birindən çox uzaqdadırsa, yalnız enliklər və uzunluqlar düzgün nəticə verməyəcək? Mekansal ref İDS kimi bir şeyə ehtiyacınız olacaq? Xahiş edirəm düzgün yanaşmanı təklif edin.

Həm də bu qədər məlumat verildikdə, müəyyən bir şəhərdən və verilən məsafədən şəhərləri tapmaq üçün necə davam edir?


Bu funksiyaların PostGis kimi bir məkan db-də hazır olacağını ümid edirəm. Birincisi, bunu fərz etməkdə haqlıyam?

PostGIS-in müəyyən bir nöqtədən müəyyən bir məsafədə nöqtələr tapa biləcəyini soruşursunuz? Bəli, edə bilər.

Bu məlumatları vacib bir şey yaratmaq üçün istifadə edəcəyəm, buna görə burada kiminsə daha dəqiq və ya qısa bir şey istifadə edib etmədiyini bilmək istəyirəm.

Sizdə olan verilənlər bazasının səhv olduğunu nə düşünürsünüz? Niyə sınayıb görməyək? İçərisində çox kiçik yerlərin olması sizi narahat edirmi?

Əgər şəhərlər bir-birindən çox uzaqdadırsa, yalnız enliklər və uzunluqlar düzgün nəticə verməyəcək? Mekansal ref İDS kimi bir şeyə ehtiyacınız olacaq?

Soruşursunuzsa, istədiyinizi etmək üçün məlumatların proqnozlaşdırılan bir formatda olması lazımdır (verilmiş bir SRS identifikatoru ilə), yoxsa - məlumatları indiki proqnozlaşdırılmamış formada istifadə etməkdə heç bir problem yoxdur (EPSG: 4326) ) və ya lazım olduqda başqa bir sistemə proyeksiya etmək.

Müəyyən bir şəhərdən və verilən məsafədən şəhərləri tapmaq üçün necə davam edir?

Bütün nəticələri müəyyən bir lat / uzun nöqtədən 30 km radiusda qaytarın baxın?


Sevdiyiniz şeyə görə bir neçə seçiminiz olduğunu düşünürəm. İki komponentə ehtiyacınız olacaq

  1. X, Y şəhərlərinin yeri
  2. Bir mənşə təyinat matrisi (işləmək üçün bir Şəbəkə tələb olunur)

Açıq mənbə: Bölmə 1 (şəhərlərin yeri)

  • Təbii Yerdən Mədəniyyət Vektorlarına nəzər yetirə bilərsiniz; Və ya
  • Aşağıdakı bir kod parçasını istifadə edərək OpenStreetMap Data-nı çəkəcək Overpass Turbo istifadə edə bilərsiniz

düyün [yer = şəhər] ({{bbox}}); çıxdı;Overpass API Dili OpenStreetMap Etiketlərindən Yer Etiketlərini istehlak edə bilər

Bölmə 2 (mənşəli təyinat matrisi)

  • Turf JS məsafəsi moduluna nəzər yetirin (bunu etmək çətin kodlanmış və çox acınacaqlı olacaq); Və ya
  • Təbii Torpaq Yollarından istifadə edərək yollar şəbəkəsi yaratmaq üçün PGRouting-ə nəzər yetirin

Google:

Bölmə 1 (şəhərlərin yeri)

  • yuxarıdakı təbii torpaq məlumatlarını istifadə edərək, hər şəhərin Lat / Longunu toplayın

Bölmə 2 (mənşə təyinat matrisi)

  • Məsafə Matrix Xidmətindən istifadə edin; Və ya
  • Google Distance Matrix API istifadə edin

ArcGIS Online

ArcGIS Online-da Mənşəyi Yerlərə Bağla funksiyasından istifadə edə bilərsiniz


Şəhər koordinatlarında mütləq dəqiqlik yoxdur.

Məsələn, Nyu-York şəhəri 1214 km² böyükdür və hansı nöqtə olduğu barədə heç bir məlumat yoxdur edir New York City. Sərhədin mərkəzini və ya Bələdiyyə Sarayını və ya sərhəd içərisində istədiyiniz hər hansı bir nöqtəni götürə bilərsiniz.