Mam NE lat lng
i SW lat lng
. Mój cel jest prosty, używam RStudio i chcę utworzyć obwiednię z powyższych dwóch łat i długich, a następnie wygenerować wielokąt i chcę dodać losowe punkty do wielokąta kwadratowego. Mam NELat / Lng i SW-Lat / Lng w pliku csv, który mógłbym zaimportować do pliku data.frame.
Potrzebuję tylko trochę wskazówek, aby zacząć, jestem bardzo nowy w języku R, jest naprawdę inny niż to, do czego jestem przyzwyczajony.
Do tej pory mam to:
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)
Właśnie widziałem kilka przykładów gdzie indziej, ale nie jestem w stanie wykreślić wielokąta z 4 rogów.
Odpowiedzi:
W kodzie wprowadzono kilka zmian:
Najpierw zauważ, że upuściłem tworzenie punktów. Możesz utworzyć wielokąt bez użycia
SpatialPoints
. Chociaż w przypadku wielu punktów, lepiej byłoby utworzyć wielokąt z punktów.Po drugie, zapisałem 5 par współrzędnych w macierzy poniżej. Każda para współrzędnych oznacza jeden róg obwiedni, a piąty powtarza pierwszy punkt. Mianowicie macierz obejmuje: [ (x_min, y_min) , (x_max, y_min), (x_max, y_max), (x_max, y_min), (x_min, y_min) ]
Wreszcie użyłem
SpatialPolygons
z,espg:4326
aby utworzyć obiekt możliwy do wydruku w kontekście geograficznym.Tak się dzieje, jeśli wykreślę kod:
i to po przedstawionych tutaj modyfikacjach kodu:
źródło
proj4String
? definiujesz charakterystykę lat i długo przez to??is.projected
konsolę R, aby zobaczyćproj4string
pomoc. Tak, służy do zdefiniowania klasy CRS dla obiektu przestrzennegoMożesz zagnieździć
extent
funkcję z biblioteki rastrowej,as
aby utworzyć obiekt SpatialPolygons.źródło