Jak importować dane geoJSON do MapBox

13

przy próbie zaimportowania danych edytowalnych do mapbox nie udało mi się zaimportować danych w formie akceptowanej przez system.

Odrzuca dane z komunikatem o błędzie:

cities.geojson: Wprowadzanie nie powiodło się. członek CRS w starym stylu nie jest zalecany w wierszu 1.

Czytając, że zakładam, że coś musiało pójść nie tak z konwersją mojego pliku, więc porównałem go z plikiem przykładowym dostarczonym MapBoxowi, nie zauważając żadnej różnicy.

Potem pojawia się najbardziej myląca część: przy próbie zaimportowania przykładowego pliku otrzymuję bardzo podobny komunikat o błędzie z systemu:

station.geojson: Wprowadzanie nie powiodło się. element CRS w starym stylu nie jest zalecany,> ten obiekt jest równoważny domyślnemu i powinien zostać usunięty w linii 1.

Teraz moje pytanie brzmi: w jaki sposób można zaimportować plik geoJSON do MapBox?

Merlin
źródło
1
Prawdopodobnie możesz otworzyć plik GeoJSON za pomocą edytora tekstu i usunąć element crs. Możesz napisać do MapBox i powiedzieć, że mogą być zbyt surowi wobec crs. geojson.org zawiera linki do bieżących i 2008 wersji specyfikacji GeoJSON.
user30184,

Odpowiedzi:

19

Zauważ, że nie jestem użytkownikiem oprogramowania MapBox, ale patrząc na przykładowy plik GeoJSON MapBox, który wskazałeś w Visual Studio, wydaje się, że ostrzeżenie „crs” jest powiązane z elementem Systemu odniesienia za pomocą GeoJSON, na samej górze plik.

Być może MapBox zmienił specyfikację formatu importu, ale zapomniał zaktualizować plik przykładowy. Zalecam, aby zgłosić je z powrotem za pomocą linku „Zapytaj nasz zespół pomocy technicznej” na stronie, na której znajduje się przykładowy plik.

"crs": {
    "type": "name",
    "properties": {
      "name": "urn:ogc:def:crs:OGC:1.3:CRS84"
    }
  },

Co do problemu: proponuję spróbować usunąć odwołanie CRS za pomocą edytora tekstu, a następnie spróbować ponownie zaimportować. Jak już powiedziano, nie znam oprogramowania MapBox, ale myślę, że będziesz mógł zdefiniować CRS po imporcie w samym oprogramowaniu.

Zachowaj ostrożność podczas edytowania pliku, upewnij się, że przecinki i nawiasy są odpowiednio usunięte tylko dla obiektu CRS! Górna część przykładowej aplikacji GeoJSON MapBox prawdopodobnie powinna wyglądać następująco:

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {
        "name": "Van Dorn Street",
        "marker-color": "#0000ff",
        "marker-symbol": "rail-metro",
        "line": "blue"
      },
      "geometry": {
        "type": "Point",
        "coordinates": [
          -77.12911152370515,
          38.79930767201779
        ]
      }
    },

Zatem „type”: „FeatureCollection” na samej górze najprawdopodobniej pozostanie, ponieważ jest to osobny obiekt przed definicją CRS.

Marco_B
źródło
1
Cóż, działało! Usunięcie informacji o CSR wprowadziło dane do systemu.
Merlin
1
Nie mogę uwierzyć, że taka firma nie jest w stanie „zignorować” wiersza w pliku json!
jdcaballerov
2
Wystarczy dodać, że rozwiązanie @ Marco_B nadal działa, a MapBox wciąż tego nie naprawił.
Valerie Anderson
To zadziałało dla mnie. Zgadzam się, że to głupie, że MapBox nie może tego naprawić.
Meekohi,
0

Tak - jak napisano powyżej, wystarczy edytować plik tekstowy.

Usunąłem:

"crs": {"type": "name","properties": {"name": "urn:ogc:def:crs:OGC:1.3:CRS84"}},

z pierwszego wiersza w moim pliku GeoJSON i został zaimportowany dobrze.

M. Moshi
źródło
Dlaczego ta odpowiedź nie jest duplikatem odpowiedzi @ Macro_B?
tinlyx