Eu tenho o NE lat lng
e SW lat lng
. Meu objetivo é simples, estou usando o RStudio e quero criar uma caixa delimitadora a partir dos dois lats e longos acima e, em seguida, gerar Polygon e quero adicionar pontos aleatórios no polígono quadrado. Eu tenho NELat / Lng e SW-Lat / Lng em um arquivo csv que eu poderia importar para um data.frame.
Eu só preciso de um pouco de orientação para começar. Sou muito novo na linguagem R, é realmente diferente do que estou acostumado.
Até agora eu tenho isso:
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)
Acabei de ver alguns exemplos em outros lugares, mas não consigo traçar um polígono de 4 cantos.
Respostas:
Algumas alterações foram feitas no seu código:
Primeiro, observe que eu larguei a criação de pontos. Você pode formar um polígono sem o uso de
SpatialPoints
. Embora no caso de muitos pontos envolvidos, seria melhor criar um polígono a partir de pontos.Segundo, escrevi 5 pares de coordenadas na matriz abaixo. Cada casal de coordenadas representa um canto da sua caixa delimitadora e o quinto repete o primeiro ponto. Nomeadamente, a matriz inclui: [ (x_min, y_min) , (x_max, y_min), (x_max, y_max), (x_max, y_min), (x_min, y_min) ]
Por fim, usei
SpatialPolygons
comespg:4326
para formar um objeto plotável em um contexto geográfico.É o que acontece Se eu plotar seu código:
e isso é depois das modificações de código apresentadas aqui:
fonte
proj4String
? você está definindo características de um lat e longo através dele??is.projected
no console R para ver aproj4string
ajuda. Sim, é usado para definir classe CRS para um objeto espacialVocê pode aninhar a
extent
função, da biblioteca de varredura,as
para criar um objeto SpatialPolygons.fonte