Spatstat: Создание объекта изображения пикселя из базы данных, которую я не могу преобразовать в матрицу - PullRequest
0 голосов
/ 30 мая 2018

Привет, люди из Stackoverflow!

Я пытаюсь выяснить, какие факторы увеличивают вероятность возникновения пожара, вызванного молниями, но у меня возникают проблемы при создании объекта пиксельного изображения с помощью функции im ()библиотека spatstat.

Дело в том, что у меня есть данные в форме области, а не прямоугольника или квадрата, поэтому я не могу преобразовать данные в матрицу.

Я пыталсясоздать окно с функцией owin () и аргументом poly, но у меня есть ВСЕ точки (включая границу и заполнение) области, поэтому я не могу получить многоугольник области.

ИтакМне нужна помощь, чтобы получить идеи: а) создать объект пиксельного изображения непосредственно из моей базы данных или б) добавить точки, чтобы создать прямоугольник, а затем преобразовать мои данные в матрицу и создать с ним объект пиксельного изображения.

Я надеюсь, что вы можете мне помочь, и если вам нужна дополнительная информация, пожалуйста, дайте мне знать.

Редактировать: Извините, что не приводил пример данных раньше.

Итак, мои данные выглядят так:

no. lon      lat    elev  exp slope veg

1 700.5380 984.4786  548  -1     0   1
2 704.0483 984.4786  518 135     0   1
3 707.5586 984.4786  548  -1     0   1
4 711.0689 984.4786  569 254     4   1
5 714.5791 984.4786  590 178     5   1
6 697.0277 981.9342  518  -1     0   1

Вы можете увидеть график данных здесь .

Другой файл данных у меня есть толькоесть данные молний.

Надеюсь, вы сможете мне помочь и спасибо за все!

Кроме того, я не могу использовать im(), потому что я не могу преобразовать свои данные в матрицу, и я также попытался использовать owin(poly=data), но это делает меня формой, состоящей из линий с данными,Кроме того, я читаю больше, и я думаю, что это не то решение, которое мне было нужно ...

Я сейчас читаю другие библиотеки, чтобы посмотреть, могу ли я сделать растр с другой библиотекой вместо spatstat.

1 Ответ

0 голосов
/ 07 июня 2018

Я думаю, что этот рецепт должен работать для вас, чтобы создать SpatialPointsDataframe и изображение (в примере с растровым пакетом) из ваших данных:

https://gis.stackexchange.com/questions/20018/how-can-i-convert-data-in-the-form-of-lat-lon-value-into-a-raster-file-using-r

Затем вы можете преобразоватьпространственный df для spatstat с:

library(maptools)
library(spatstat)
spatialPointsDF<-as(spatialPointsDataFrame, "ppp")
plot(spatialPointsDF)

См. функции maptools:

https://www.rdocumentation.org/packages/maptools/versions/0.9-2/topics/as.ppp

Чтобы создать объект im из растра, см. снова API-интерфейс spatstat maptools(as.im.RasterLayer):

https://www.rdocumentation.org/packages/maptools/versions/0.9-2/topics/as.ppp

...