Как преобразовать образец набора данных из пакета R "spatstat" в шейп-файл

РайанМуллинс:

Я написал средство оценки плотности ядра на Java, которое принимает входные данные в виде шейп-файлов ESRI и выводит изображение GeoTIFF предполагаемой поверхности. Для тестирования этого модуля мне нужен пример шейп-файла, и по какой-то причине мне сказали извлечь его из образцов данных, включенных в R. Проблема в том, что ни один из образцов данных не является шейп-файлом ...

Итак, я пытаюсь использовать convert.to.shapefile(4)функцию пакета shapefiles для преобразования набора данных bei, включенного в пакет spatstat в R, в шейп-файл. К сожалению, это оказалось сложнее, чем я думал. У кого-нибудь есть опыт в этом? Если бы вы были так любезны и помогли мне здесь, я был бы очень признателен.

Спасибо, Райан

Ссылки: spatstat , шейп файлы

mdsumner:

В пакетах и есть функции конвертации Spatialобъектов, которые можно использовать для этого. Шейп-файл состоит как минимум из точек (или линий или многоугольников) и атрибутов для каждого объекта.spatstatmaptools

library(spatstat)
library(sp)
library(maptools)
data(bei)

Принуждение beiк Spatialобъекту, здесь просто точки без атрибутов, так как на pppобъекте нет «меток» .

spPoints <- as(bei, "SpatialPoints")

Шейп-файлу требуется по крайней мере один столбец с данными атрибутов, поэтому создайте фиктивный файл.

dummyData <- data.frame(dummy = rep(0, npoints(bei)))

Используя SpatialPointsобъект и фиктивные данные, сгенерируйте файл SpatialPointsDataFrame.

spDF <- SpatialPointsDataFrame(spPoints, dummyData)

На этом этапе вам обязательно следует подумать о том, какая система координат используется beiи можете ли вы представить ее с помощью WKT CRS(хорошо известной текстовой системы координат). Вы можете назначить это Spatialобъекту в качестве другого аргумента SpatialPointsDataFrameили после создания с помощью proj4string(spDF) <- CRS("+proj=etc...")(но это целая проблема сама по себе, на которой мы могли бы писать страницы).

Загрузить rgdalпакет (это наиболее общий вариант, поскольку он поддерживает множество форматов и использует библиотеку GDAL, но может быть недоступен из-за системных зависимостей.

library(rgdal)

(Используйте writePolyShapeв maptoolsпакете, если rgdalего нет в наличии).

Синтаксис - это объект, затем «имя источника данных» (здесь текущий каталог, это может быть полный путь к .shp или папке), затем слой (для шейп-файлов имя файла без расширения) и затем имя выходного драйвера.

writeOGR(obj = spDF, dsn = ".", layer = "bei", driver = "ESRI Shapefile")

Обратите внимание, что запись не удастся, если «bei.shp» уже существует, и поэтому сначала необходимо удалить его unlink("bei.shp").

Перечислите все файлы, которые начинаются с «bei»:

list.files(pattern = "^bei")

[1] "bei.dbf" "bei.shp" "bei.shx"

Обратите внимание, что не существует общего конвертера «as.Spatial» для pppобъектов, поскольку необходимо принять решение о том, является ли это точечный шаблон с метками и т. Д. - может быть интересно попробовать написать такой, который сообщает, были ли фиктивные данные требуется и так далее.

См. Следующие виньетки для получения дополнительной информации и подробностей о различиях между этими представлениями данных:

библиотека (sp); библиотека виньеток ("sp") (spatstat); виньетка ("spatstat")

Эта статья взята из Интернета, укажите источник при перепечатке.

Если есть какие-либо нарушения, пожалуйста, свяжитесь с[email protected] Удалить.

Отредактировано в
0

я говорю два предложения

0обзор
Войти в системуУчаствуйте в комментариях

Статьи по теме

Spatstat, интерполяция точек данных в R

Сеть не подключена - пакет spatstat в R

R - Spatstat - Поиск ближайшего соседа по идентификатору с использованием таблицы данных

Пакет R spatstat: как использовать ковариату модели точечного процесса в качестве фактора, начиная с файла формы

Как получить область для ограничивающей рамки для каждой точки в данных плоского точечного массива (ppp) с помощью Spatstat в R?

G-функция Фоксолла с многоугольниками в R spatstat

как экспортировать объект linnet r spatstat в шейп-файл esri

Есть ли способ создать список объектов ppp с помощью spatstat в R?

Set weights for ewcdf {spatstat} [R]

spatstat удаление меток из точечного массива и впоследствии точек

SPATSTAT дублирует точки на определенном расстоянии

разделение классов и кратчайший путь в сетях в spatstat

Ошибка построения сети из вершин в spatstat

взвешенная медиана в пакете spatstat

отобразить остатки в spatstat без наложения точек

Проверка гипотез на основе моделирования на гиперкадрах пространственных точечных шаблонов с использованием функции "конверт" в spatstat

Есть ли способ сделать невидимой полигональную границу участка диска в пакете spatstat?

Коррекция артефактов в spatstat для точечных паттернов биологических клеток

Объединение двух объектов точечного массива в spatstat для создания комбинированной метки

Количество фиктивных точек в spatstat

Классификация точечного рисунка с помощью spatstat: как правильно выбрать полосу пропускания?

Как подогнать одну модель к нескольким независимым наборам данных в spatstat?

Ограничения на параметры подобранной модели в spatstat

Получите значения из смоделированных миллионных долей в минуту в spatstat

Paquet R : spatstat.explore et spatstat.model ont besoin de spatstat.random 2.2.0.7 mais ne sont pas disponibles ?

как измеряется tp на отрезке в spatstat

Создание кластерных меток spatstat для объекта ppp

Можно ли добавлять метки в трехмерный точечный узор с помощью SpatStat в Rstudio?

Spatstat: неоднородный Lcross приводит к странному графику, несмотря на неоднородный точечный узор согласно тестам на подсчет квадратов.

TOP список

  1. 1

    Распределение Рэлея Curve_fit на Python

  2. 2

    TypeError: store.getState não é uma função. (Em 'store.getState ()', 'store.getState' é indefinido, como posso resolver esse problema?

  3. 3

    В типе Observable <unknown> отсутствуют следующие свойства из типа Promise <any>.

  4. 4

    Как добавить Swagger в веб-API с поддержкой OData, работающий на ASP.NET Core 3.1

  5. 5

    How to click an array of links in puppeteer?

  6. 6

    Merging legends in plotly subplot

  7. 7

    ViewPager2 мигает / перезагружается при смахивании

  8. 8

    Отчеты Fabric Debug Craslytic: регистрация, отсутствует идентификатор сборки, применить плагин: io.fabric

  9. 9

    How to normalize different curves drawn with geom = "step" when using stat_summary

  10. 10

    无法通过Vue在传单中加载pixiOverlay

  11. 11

    как я могу удалить vue cli 2?

  12. 12

    Как я могу нарисовать заполненный прямоугольник в JFreeChart?

  13. 13

    SQL Вычтите две строки друг от друга в одном столбце, чтобы получить результат

  14. 14

    Elasticsearch - Нечеткий поиск не дает предложения

  15. 15

    Single legend for Plotly subplot for line plots created from two data frames in R

  16. 16

    Описание моего типа Parser как серии преобразователей монад

  17. 17

    Как изменить цвета запятых и скобок в VS Code

  18. 18

    Сброс значения <input type = "time"> в Firefox

  19. 19

    Почему прокси в vue.config.js 404

  20. 20

    Как установить параметр -noverify с gradle ktx для робоэлектрических тестов Android?

  21. 21

    В чем разница между ifstream, ofstream и fstream?

популярныйтег

файл