У меня есть NE lat lng
и SW lat lng
. Моя цель проста, я использую RStudio, и я хочу создать ограничивающий прямоугольник из двух вышеупомянутых латов и длин, а затем сгенерировать Polygon, и я хочу добавить случайные точки в квадратный многоугольник. У меня есть NELat / Lng и SW-Lat / Lng в CSV-файле, который я могу импортировать в data.frame.
Мне просто нужно небольшое руководство, чтобы начать, я очень плохо знаком с языком R, он действительно отличается от того, к чему я привык.
Пока у меня есть это:
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)
Я только что видел несколько примеров в другом месте, но я не могу построить многоугольник из 4 углов.
Ответы:
Несколько изменений были внесены в ваш код:
Во-первых, обратите внимание, что я отбросил создание точек. Вы можете сформировать многоугольник без использования
SpatialPoints
. Хотя, если задействовано много точек, было бы лучше создать многоугольник из точек.Во-вторых, я написал 5 пар координат в матрице ниже. Каждая пара координат обозначает один угол вашей ограничительной рамки, а пятая повторяет первую точку. А именно, матрица включает в себя: [ (x_min, y_min) , (x_max, y_min), (x_max, y_max), (x_max, y_min), (x_min, y_min) ]
Наконец, я использовал
SpatialPolygons
с,espg:4326
чтобы сформировать объект в географическом контексте.Вот что произойдет, если я построю ваш код:
и это после модификаций кода, представленных здесь:
источник
proj4String
? вы определяете характеристики лата и долго через него??is.projected
в R-консоли, чтобы увидетьproj4string
помощь. Да, он используется для определения класса CRS для пространственного объектаВы можете вложить эту
extent
функцию из растровой библиотеки,as
чтобы создать объект SpatialPolygons.источник