将 sf 对象打印到控制台时,有一个带有Geodetic CRS
或 的标题Porjected CRS
,其中包含 CRS 的良好格式名称。有没有办法提取此信息,而不是
p1 = st_point(c(7,52))
p2 = st_point(c(-30,20))
sfc = st_sfc(p1, p2, crs = 4326)
sfc
Geometry set for 2 features
Geometry type: POINT
Dimension: XY
Bounding box: xmin: -30 ymin: 20 xmax: 7 ymax: 52
Geodetic CRS: WGS 84 <- this line
POINT (7 52)
POINT (-30 20)
st_transform(sfc, 3857)
Geometry set for 2 features
Geometry type: POINT
Dimension: XY
Bounding box: xmin: -3339585 ymin: 2273031 xmax: 779236.4 ymax: 6800125
Projected CRS: WGS 84 / Pseudo-Mercator <- this line
POINT (779236.4 6800125)
POINT (-3339585 2273031)
nc = st_read(system.file("shape/nc.shp", package="sf"))
nc
Simple feature collection with 100 features and 14 fields
Geometry type: MULTIPOLYGON
Dimension: XY
Bounding box: xmin: -84.32385 ymin: 33.88199 xmax: -75.45698 ymax: 36.58965
Geodetic CRS: NAD27 <- this line
First 10 features:
[...]
看看如何st_crs(sfc)$input
给予"EPSG:4326"
而不是WGS 84
。然而,st_crs(nc)$input
给予"NAD27"
,但st_crs(st_transform(sfc, 3857))$input
给予 "EPSG:3857"
而不是Projected CRS: WGS 84 / Pseudo-Mercator
地球上是否也存在与栅格数据相当的东西?
您可以使用
wkt
元素st_crs()
。您将获得一个包含众所周知的文本的字符串;然后是使用正则表达式进行文本提取的问题:要得到
检查来源,例如
虽然你基本上可以使用自己,但它也可以通过返回的对象
sf:::crs_parameters()$Name
公开:crs
st_crs()
它类似于
terra
:创建于 2024-10-10,使用reprex v2.1.1