x

GeoJSON in der Kommandozeile filtern


  1. GeoJSON in der Kommandozeile filtern · Relotius (Gast) · 20.06.2019 13:18 · [flux]

    Stand schon einmal jemand vor der Aufgabe, ein GeoJSON in der Kommandozeile zu filtern?

    Ich beschäftige mich gerade mit dem N50-Import in Norwegen.

    Dafür würde ich gerne alle Features mit objtype=Skog aus einem GeoJSON extrahieren:

    {␣"type":␣"Feature",␣"properties":␣{␣"objtype":␣"Skog"␣},␣"geometry":␣{␣"type":␣"Polygon",␣"coordinates":␣...
    

    Ich habe es schon mit

    ogr2ogr␣-where␣objtype=Skog
    

    versucht, da kommt aber

    ERROR␣1:␣"Skog"␣not␣recognised␣as␣an␣available␣field.
    

    Geht so etwas mit jq?


    • Re: GeoJSON in der Kommandozeile filtern · Ryzen (Gast) · 20.06.2019 13:24 · [flux]

      Versuch mal

      jq␣'.features[]␣|␣select(.properties.objtype␣==␣"Skog")'
      

      Aber immer vorsichtig mit Importen!


    • Re: GeoJSON in der Kommandozeile filtern · Nakaner (Gast) · 20.06.2019 18:59 · [flux]

      Hallo Relotius

      Relotius wrote:

      Ich habe es schon mit

      ogr2ogr␣-where␣objtype=Skog
      

      versucht, da kommt aber

      ERROR␣1:␣"Skog"␣not␣recognised␣as␣an␣available␣field.
      

      Die "-where"-Option von ogr2ogr ist der WHERE-Teil einer SQL-Abfrage. Skog ist ein String und das Feld ist vom Typ String, also muss es

      ogr2ogr␣-f␣GeoJSON␣output.json␣input.json␣-where␣"objtype='Skog'"
      

      lauten.

      Viele Grüße

      Michael


    • Re: GeoJSON in der Kommandozeile filtern · Wulf4096 (Gast) · 20.06.2019 21:47 · [flux]

      Relotius wrote:

      Stand schon einmal jemand vor der Aufgabe, ein GeoJSON in der Kommandozeile zu filtern?

      Ich nehm für sowas eine richtige Programmiersprache.
      JSON wird eigentlich überall unterstützt.