Shapefile 到 geojson 并设置正确的 crs
Shapefile to geojson and set the right crs
我正在使用来自哥伦比亚 (Cali) 的一个表单文件。我需要将文件转换为 geojson 格式,但是在加载它时 crs 出现问题,因为在加载 geojson 并尝试绘制它时,没有任何显示。
这是包含数据的 zip 文件
library('mapview')
library('sf')
library('geojson')
library('geojsonsf')
## Read shapefile
cali <- read_sf("E:/Users/Rafae/Downloads/mc_barrios/mc_barrios.shp")
cali$barrio[5] <- "Area en Desarrollo - Parque del Amor"
Encoding(cali$barrio) <- "latin1"
mapview(cali)
有效
## Convert to geojson
geojson_cali <- as.geojson(cali)
cali_new <- geojsonsf::geojson_sf(geojson_cali)
mapview(cali_new)
#write(geojson_cali, "Cali.geojson")
不起作用
#geojson_sf(geojson_cali) %>% st_transform(st_crs("+proj=utm +ellps=GRS80 +datum=WGS84")) %>%
st_make_valid() %>% mapview()
#cali_new %>% st_transform(st_crs(cali)) %>% st_make_valid() %>% mapview()
欢迎任何帮助
似乎转换为 geojson 是在未先转换数据的情况下强制对数据执行 WGS 84 crs。只需将 cali
对象转换为此投影,然后再将其转换为 geojson,这样就不再重要了。
library('mapview')
library('sf')
library('geojson')
library('geojsonsf')
## Read shapefile
cali <- read_sf("C:/Users/Administrator/Downloads/mc_barrios/mc_barrios.shp")
cali$barrio[5] <- "Area en Desarrollo - Parque del Amor"
Encoding(cali$barrio) <- "latin1"
cali <- cali %>% st_transform(4326)
cali_geojson <- sf_geojson(cali, simplify = FALSE)
cali_new <- geojson_sf(cali_geojson)
mapview(cali_new)
我正在使用来自哥伦比亚 (Cali) 的一个表单文件。我需要将文件转换为 geojson 格式,但是在加载它时 crs 出现问题,因为在加载 geojson 并尝试绘制它时,没有任何显示。
这是包含数据的 zip 文件
library('mapview')
library('sf')
library('geojson')
library('geojsonsf')
## Read shapefile
cali <- read_sf("E:/Users/Rafae/Downloads/mc_barrios/mc_barrios.shp")
cali$barrio[5] <- "Area en Desarrollo - Parque del Amor"
Encoding(cali$barrio) <- "latin1"
mapview(cali)
有效
## Convert to geojson
geojson_cali <- as.geojson(cali)
cali_new <- geojsonsf::geojson_sf(geojson_cali)
mapview(cali_new)
#write(geojson_cali, "Cali.geojson")
不起作用
#geojson_sf(geojson_cali) %>% st_transform(st_crs("+proj=utm +ellps=GRS80 +datum=WGS84")) %>%
st_make_valid() %>% mapview()
#cali_new %>% st_transform(st_crs(cali)) %>% st_make_valid() %>% mapview()
欢迎任何帮助
似乎转换为 geojson 是在未先转换数据的情况下强制对数据执行 WGS 84 crs。只需将 cali
对象转换为此投影,然后再将其转换为 geojson,这样就不再重要了。
library('mapview')
library('sf')
library('geojson')
library('geojsonsf')
## Read shapefile
cali <- read_sf("C:/Users/Administrator/Downloads/mc_barrios/mc_barrios.shp")
cali$barrio[5] <- "Area en Desarrollo - Parque del Amor"
Encoding(cali$barrio) <- "latin1"
cali <- cali %>% st_transform(4326)
cali_geojson <- sf_geojson(cali, simplify = FALSE)
cali_new <- geojson_sf(cali_geojson)
mapview(cali_new)