R - преобразовать геометрию WKB в представление WKT
Кто-нибудь знает пакет / функцию в R, которая принимает хорошо известный двоичный файл (WKB) в качестве входных данных и возвращает его представление хорошо известного текста (WKT)?
3 ответа
Вы можете конвертировать между WKB и WKT, используя пакеты rgeos и wkb. Пример:
# load packages
library(rgeos)
library(wkb)
# create raw vector representing WKB geometry
wkb <- hex2raw("0101000000cdcccccc170d2241b81e859bcb405241")
# convert WKB to Spatial object
obj <- readWKB(wkb)
# convert Spatial object to WKT
wkt <- writeWKT(obj, byid = TRUE)
Вы не предоставили ни одного воспроизводимого примера с кодом и данными, но я думаю, что этот код может вам помочь.
library(rgdal)
library(wkb)
library(rgeos)
wkb <- readBin("geometry.wkb", what = "raw", n = 1000)
wkb <- list(wkb)
writeWKT(readWKB(wkb))
Эта статья очень интересна:https://r-spatial.org/r/2016/09/01/bm.html . В этой статье сравниваются три функции:
-
sf::st_as_sfc(geometry, pureR = TRUE)
-
wkb::readWKB(geometry)
Для этой статьи более быстрая функция для преобразования wkb в wkt — это
sf::st_as_sfc(geometry)
без аргумента pureR.