Ich habe das NE lat lng
und SW lat lng
. Mein Ziel ist einfach: Ich verwende RStudio und möchte aus den beiden oben genannten Lats und Longs einen Begrenzungsrahmen erstellen, dann ein Polygon generieren und dem quadratischen Polygon zufällige Punkte hinzufügen. Ich habe NELat / Lng und SW-Lat / Lng in einer CSV-Datei, die ich in einen data.frame importieren könnte.
Ich brauche nur eine kleine Anleitung, um loszulegen. Ich bin sehr neu in der R-Sprache, es ist wirklich anders als ich es gewohnt bin.
Bisher habe ich Folgendes:
coords = cbind(78.46801, 19.53407)
coordsmax = cbind(78.83157, 19.74557 )
sp = SpatialPoints(coordsmax)
sp2 = SpatialPoints(coords)
r1 = rbind(coords, coordsmax[1, ]) # join
P1 = Polygon(r1)
Ps1 = Polygons(list(P1), ID = "a")
plot(Ps1)
Ich habe gerade einige Beispiele an anderer Stelle gesehen, kann aber kein Polygon mit 4 Ecken zeichnen.
Antworten:
An Ihrem Code wurden einige Änderungen vorgenommen:
Beachten Sie zunächst, dass ich die Punkteerstellung fallen gelassen habe. Sie können ein Polygon ohne die Verwendung von bilden
SpatialPoints
. Wenn jedoch viele Punkte betroffen sind, ist es besser, ein Polygon aus Punkten zu erstellen.Zweitens habe ich 5 Koordinatenpaare in die folgende Matrix geschrieben. Jedes Koordinatenpaar steht für eine Ecke Ihres Begrenzungsrahmens, und das fünfte wiederholt den ersten Punkt. Die Matrix enthält nämlich: [ (x_min, y_min) , (x_max, y_min), (x_max, y_max), (x_max, y_min), (x_min, y_min) ]
Schließlich habe ich
SpatialPolygons
mit verwendetespg:4326
, um ein zeichnungsfähiges Objekt in einem geografischen Kontext zu bilden.Folgendes passiert, wenn ich Ihren Code zeichne:
und dies ist nach Code-Änderungen, die hier vorgestellt werden:
quelle
proj4String
? Definieren Sie Merkmale eines Lat und Long durch ihn??is.projected
in der R-Konsole, um dieproj4string
Hilfe zu sehen . Ja, es wird verwendet, um die CRS-Klasse für ein räumliches Objekt zu definierenSie können die
extent
Funktion aus der Rasterbibliothekas
verschachteln, um ein SpatialPolygons-Objekt zu erstellen.quelle