Gdzie mogę znaleźć dane granic kraju w formacie zwykłego tekstu? (XML, JSON, CSV itp.)

12

Próbuję uzyskać pewne dane reprezentujące granice wszystkich krajów na świecie. Te dane nie muszą być bardzo precyzyjne, mają rysować kraje na ekranie komputera. Przeprowadziłem trochę badań i wciąż natrafiam na formaty binarne, aby te dane mogły być otwierane w różnych programach, a co nie. Oto przykład tego, co byłoby dobrym źródłem, ale dla mnie bezużyteczne.

Nie chcę, jeśli to możliwe, pisać parsera w formacie binarnym. Więc moje pytanie jest dwojakie:

  • Czy są dostępne zasoby na uproszczone granice państw w postaci zwykłego tekstu? (XML, JSON, CSV itp.)
  • Jeśli nie, czy są jakieś programy, w których mógłbym eksportować dane binarne znalezione w Internecie w tych formatach?
Xeon06
źródło
2
„Czytelny dla człowieka” = „mapa”!
whuber
@ whuber miałem na myśli format w tekście Unicode :)
Xeon06

Odpowiedzi:

22

Sugeruję pobranie i zainstalowanie QGIS . Następnie można otworzyć plik, do którego prowadzi łącze, i wyeksportować dane w różnych formatach.

Najpopularniejszym formatem danych przestrzennych tego typu shapefilejest jeden z plików, z którymi się łączysz (TM_WORLD_BORDERS_SIMPL-0.2.zip). Powodem, dla którego jest to plik zip, jest to, że istnieje kilka powiązanych plików z plikiem shapefile, a spakowanie ich do folderu utrzymuje je razem.

Po pobraniu i zainstalowaniu QGIS kliknij tę ikonę wprowadź opis zdjęcia tutaj. Następnie przejdź do folderu, w którym rozpakowałeś TM_WORLD_BORDERS_SIMPL-0.2.zipi dodaj plik TM_WORLD_BORDERS_SIMPL-0.2.shp. Powinieneś wtedy zobaczyć granice kraju na ekranie.

Następnie kliknij prawym przyciskiem myszy nazwę pliku w lewej części ekranu. Będzie opcja save-asi możesz wybrać różne formaty (wybieram na moim zrzucie ekranu geojson).

wprowadź opis zdjęcia tutaj

djq
źródło
Dziękuję za odpowiedź! Wypróbuję to, gdy tylko wrócę do domu i skontaktuję się z Tobą
Xeon06,
Świetnie - cieszę się, że zadziałało.
djq
8

Podoba mi się odpowiedź @celeniusa; jednak inną opcją byłoby wyeksportowanie zestawu danych World Borders do CSV przy użyciu ogr2ogr . Właśnie pobrałem twój ulubiony zestaw danych i uruchomiłem to polecenie z ogr2ogr - pamiętaj, że twój skrypt powinien być pojedynczym ciągiem bez żadnych podziałów linii. Najłatwiej jest je pisać w notatniku z włączonym zawijaniem słów, a następnie kopiuję je do terminala ogr2ogr:

ogr2ogr -f "CSV" "E:\4_GIS\01_tutorials\worldborders\World_wkt"
   "E:\4_GIS\01_tutorials\worldborders\TM_WORLD_BORDERS-0.3.shp" -lco 
   "GEOMETRY=AS_WKT" -lco "LINEFORMAT=CRLF" -lco "SEPARATOR=SEMICOLON"

(CAVEAT: Kopiowanie / wklejanie skryptu mojego ogrodu z Internetu i na terminal nie będzie działać, ponieważ witryna wprowadzi łamanie wierszy i zastępowanie znaków ASCII dla podwójnych cudzysłowów. W rezultacie OGR będzie miał problem z odczytaniem skryptu. Z tego powodu Zalecam, aby najpierw wpisać dostosowany skrypt w notatniku lub bezpośrednio w terminalu.)

OGR utworzy World_wktkatalog, zanim wykona tłumaczenie formatu pliku, więc nie rób tego katalogu przed uruchomieniem skryptu, bo pojawi się błąd.

Oto fragment wyników, które otrzymałem:

WKT;FIPS;ISO2;ISO3;UN;NAME;AREA;POP2005;REGION;SUBREGION;LON;LAT
"MULTIPOLYGON (((-61.686668 17.024441000000138,-61.73806 16.98971
"POLYGON ((2.96361 36.802216,2.981389 36.806938,3.001111 36.80971
"MULTIPOLYGON (((45.083321 39.768044000000145,45.266388 39.611107
"POLYGON ((19.436214 41.021065,19.450554 41.059998,19.513611 41.2
"MULTIPOLYGON (((45.573051000000135 40.632488,45.528881 40.606098
"MULTIPOLYGON (((11.750832 -16.75528,11.775 -16.804726,11.77 -16.
"MULTIPOLYGON (((-170.542511 -14.2975,-170.546112 -14.29861,-170.

To urywek dobrze znanego tekstu (WKT). Bardzo czytelne dla ludzi, ale te ciągi znaków ciągną się w prawo przez długą, długą drogę, więc nie chciałem kopiować kompletnych rekordów. :)

Jeśli chcesz tylko pobrać zestaw danych CSV, który utworzyłem, opublikowałem go tutaj , ale zachęcam do wypróbowania tej techniki dla siebie. Jeśli jesteś zainteresowany i chcesz uzyskać więcej informacji, kilka tygodni temu napisałem bloga o tematyce , który możesz znaleźć, aby uzyskać bardziej istotne szczegóły.

elrobis
źródło
0

Radziłbym pobrać Google Earth i przejść przez różne warstwy w rozszerzonym widoku warstw, klikając każdą pojedynczą warstwę i rozwijając drzewo, aby włączyć granice i wyłączyć wszystko, czego tak naprawdę nie potrzebujesz, ponieważ spowalnia program do ma otwartych i uruchomionych zbyt wiele warstw. Jest trójwymiarowy i jest bardzo szczegółowy, dostosowywalny i dokładny. Możesz nawet użyć symulatora lotu i cieszyć się jazdą.

rgv_xroworz_54
źródło
Dzięki, ale potrzebuję danych granic, aby je przetworzyć.
Xeon06,