Puffer in Metern erstellen?

15

Ich bin sehr neu in der GIS-Welt, daher könnte mein Problem sehr dumm sein, aber ich werde es trotzdem versuchen.

Zielsetzung

Ausgehend von einer Liste von Koordinaten in Längen- und Breitengraden, die als .csvDatei gespeichert sind , möchte ich einen Puffer mit einer Entfernung von xkm um diese Koordinaten erstellen . (Falls dies relevant ist, sind diese Koordinaten Standorte der Gesellschaften im SCCS-Datensatz . Diese Gesellschaften sind auf der ganzen Welt verteilt.)

Problem

Ich kann nur Puffer mit einem Abstand in radialen Grad erstellen, aber ich möchte sie in (Kilo-) Metern erstellen. Mir sind die folgenden Fragen und Antworten bekannt, aber das Befolgen der darin enthaltenen Vorschläge scheint mein Problem nicht zu lösen:

Was ich versucht habe ...

  1. Ich starte QGIS (v2.4) und Add delimited text layer
  2. Wählen Sie meine .csvDatei und die X / Y-Felder, klicken Sie aufOK
  3. Wählen Sie WGS 84als mein CRS (auch versucht, NAD83aber keinen Unterschied gemacht), klicken Sie aufOK
  4. Klicken Sie mit der rechten Maustaste auf die Ebene, und wählen Sie Save As...im Dialogfeld Folgendes aus, und klicken Sie auf OK: Bildbeschreibung hier eingeben
  5. sccs_meter.shpAls Ebene zum aktuellen Projekt hinzufügen
  6. Wählen Vector> Geoprocessing Tools> Buffers> set Pufferabstand als 10

Das Ergebnis ist ein Puffer mit einem Radius von ungefähr 1068 km, was darauf hindeutet, dass der Pufferabstand 10 Grad und nicht 10 Meter beträgt.

Was habe ich hier falsch gemacht?

Herr k.
quelle
1
"Was ist der Workflow zum Puffern in Metern / km mit WGS84-Layern?" löst Ihr Problem, lesen Sie bitte die Kommentare. Wenn Sie das Puffer-Tool verwenden, werden die CRS-Einheiten des Layers verwendet. Wenn Sie wgs84 auswählen, werden Grad verwendet. Sie können Ihre Datei _meters, aber Sie haben das Koordinatensystem nicht wirklich geändert.
Alexandre Neto
@AlexandreNeto: Ich habe die Antwort von Jake in dieser Frage gelesen. Meinten Sie den Teil zum Erstellen der Azimuthal Equidistant-Projektion oder den Teil zum Speichern der aktuellen Ebene mit einem anderen CRS? Ich habe meine mit NAD83 (wie in der Abbildung gezeigt) gespeichert, der in Metern angegeben werden soll, aber es werden immer noch Puffer in Grad erstellt.
Herr K.
3
NAD83 verwendet auch Grad für Einheiten. Es gibt viele Projektionen, die das NAD83-Datum verwenden und Zähler verwenden. Vielleicht wollten Sie stattdessen einen von ihnen auswählen.
Evil Genius

Antworten:

17

In Schritt 4 müssen Sie das CRS von NAD83 in eine andere Projektion ändern, die Meter als Einheiten verwendet.

Es hängt vom Umfang Ihrer Daten ab, welche am besten ist. Leider befinden sich Ihre Daten auf der ganzen Welt, sodass Sie Folgendes tun können:

  1. Erstellen Sie ein benutzerdefiniertes CRS mit aeqd (oder tmerc) für jedes und zeichnen Sie nur diesen einen Puffer damit. In der Praxis müssen Sie den Puffer nur einmal erstellen und die CRS-Informationen in den Dateien .prj und .qpj austauschen. Die Koordinaten des Puffers in Bezug auf sein Zentrum sind immer gleich.
  2. Gruppieren Sie die Daten nach den UTM-Zonen und verwenden Sie die UTM-CRS dieser Zone für diese Punkte.
  3. Gruppieren Sie ähnlich wie bei UTM Ihre Punkte in Breitengradzonen (z. B. alle 10 Grad) und erstellen Sie benutzerdefinierte Lambert-konische 2SP für jede Gruppe ein CRS. Dies ist erheblich schneller als die Nutzung aller nördlichen und südlichen UTM-Zonen der Welt.
  4. Verwenden Sie für alle den Pseudo-Mercator EPSG: 3857. Die Puffer sehen aus wie schöne Kreise, aber die tatsächliche Größe wird umso kleiner und verzerrter, je weiter Sie zu den Polen kommen.
AndreJ
quelle
Hallo zusammen, ich habe eine ähnliche Situation (aber mit Polylinien überall auf der Welt und einem Puffer von 50 km auf beiden Seiten) und bin ein wenig verwirrt, warum Sie eine der Top-Optionen verwenden sollten, wenn Sie die vierte verwenden können ( welches scheint das einfachste). Liegt es nur daran, dass die Verzerrung, die Sie möglicherweise sehen möchten, trotz des genauen Ergebnisses nicht klar erkennbar ist? Vielen Dank! :)
Amroco
@Amroco EPSG: 3857 sollte vermieden werden, wenn es sich um eine genau bestimmte Entfernung handelt und Sie weit vom Äquator entfernt sind.
AndreJ
2

Schneller und schmutziger Weg: Verwenden Sie einen Pufferabstand von 0,01 ° pro km. Das sind die mittleren Grad pro km bei 37 ° Lat. und verzerrt NS und EW Pufferumfang. Aber es kann genau genug für Ihren Zweck sein.

user95704
quelle
hi, weißt du wie stark die verzerrung am equ ist? und die Stangen?
Amroco
Unter der Annahme einer perfekten Kugel (nicht eines Geoids): Äquator: 1 ° Breite = ~ 111111 m, 1 ° Länge = ~ 111133 m, Durchschn. = 111122 m Pole: 1 ° Breite = ~ 111111 m, 1 ° Länge = 0 m, durchschn. = 55556 m
Flo
1

Sie können den Link geospatialearth Website überprüfen Link . Sie müssen Adobe Flash in Ihrem Browser zulassen. Firefox wird empfohlen.

Als Programmierer können Sie zum Erstellen eines Punktpuffers neben js2shapefile auch geographiclib javascript verwenden. Mit geographiclib können Sie zahlreiche gleichwinklige Punkte in einem festen Abstand x um jeden Punkt der CSV-Datei erstellen und dann mit js2shapefile in ein Shapefile konvertieren.

Überprüfen Sie einfach den obigen Link, Sie werden hundertprozentig zufrieden sein.

GeoSpatialEarth.in
quelle
Es ist hilfreich, ein paar zusätzliche Informationen darüber hinzuzufügen, was der Link zur Behebung des Problems erklärt. Externe Links ändern / brechen viel.
MaryBeth
@MatyBeth Der oben erwähnte Link ist ein kleines Formular, mit dem der Benutzer die CSV-Datei hochlädt, die im Browser mit Javascript gelesen wird. Es wird die Vorschau dieser CSV-Datei angezeigt. Der Benutzer muss die Breiten- und Längengradspalte und die Art der Geometrie auswählen, die er herunterladen möchte, z. B. ein Punkt-Shapefile, einen Rechteckpuffer mit der angegebenen Länge und Höhe in Metern oder eine Kreisbutter mit dem angegebenen Radius in Metern und der angegebenen Anzahl von Segmenten. Der Benutzer hat die Wahl, den Puffer als Shapefile- oder KML-Datei zu speichern.
GeoSpatialEarth.in