在传单中绘制 sfc_POLYGON
Plotting sfc_POLYGON in leaflet
我有一个 sfc_POLYGON,IHS
使用 sf
包作为几个形状的联合获得。
Geometry set for 1 feature
geometry type: POLYGON
dimension: XY
bbox: xmin: 270194.7 ymin: 2255850 xmax: 279225 ymax: 2265469
epsg (SRID): 32643
proj4string: +proj=utm +zone=43 +datum=WGS84 +units=m +no_defs
POLYGON((279224.998943279 2261084.1514869, 2792...
虽然我能够在 mapview
中绘制此图,但在 leaflet
中绘制相同图时我遇到了一些问题。当我绘制这是 leaflet
时,我收到一个警告 sf layer is not long-lat data
,但它不是,我得到了基础世界地图。这是我在 leaflet
.
中用于绘图的代码
IHS%>%leaflet()%>%addTiles()%>%
addProviderTiles(providers$Esri.WorldImagery, group ="ESRI")%>%
addPolygons()
我怀疑这与 CRS 有关。我已经尝试 st_set_crs(IHS, 4326)
将 IHS
的投影从 utm 更改为 longlat:
Geometry set for 1 feature
geometry type: POLYGON
dimension: XY
bbox: xmin: 270194.7 ymin: 2255850 xmax: 279225 ymax: 2265469
epsg (SRID): 4326
proj4string: +proj=longlat +datum=WGS84 +no_defs
但是传单警告和输出没有变化。我在这里不确定,但这与更改维度和 bbox(似乎以米为单位)有关吗?
"Converting"变成Lon/Lat就是改变它的空间投影。一旦你知道了这一点,你就可以使用空间数据并在库中找到帮助投影空间特征的正确方法。
在你的例子中,使用 st_set_crs(IHS, 4326)
只是说投影是 Lon/lat,而不是投影它。
您需要使用 st_transform
:
IHS_wgs84 <- st_transform(IHS, "+init=epsg:4326")
我有一个 sfc_POLYGON,IHS
使用 sf
包作为几个形状的联合获得。
Geometry set for 1 feature
geometry type: POLYGON
dimension: XY
bbox: xmin: 270194.7 ymin: 2255850 xmax: 279225 ymax: 2265469
epsg (SRID): 32643
proj4string: +proj=utm +zone=43 +datum=WGS84 +units=m +no_defs
POLYGON((279224.998943279 2261084.1514869, 2792...
虽然我能够在 mapview
中绘制此图,但在 leaflet
中绘制相同图时我遇到了一些问题。当我绘制这是 leaflet
时,我收到一个警告 sf layer is not long-lat data
,但它不是,我得到了基础世界地图。这是我在 leaflet
.
IHS%>%leaflet()%>%addTiles()%>%
addProviderTiles(providers$Esri.WorldImagery, group ="ESRI")%>%
addPolygons()
我怀疑这与 CRS 有关。我已经尝试 st_set_crs(IHS, 4326)
将 IHS
的投影从 utm 更改为 longlat:
Geometry set for 1 feature
geometry type: POLYGON
dimension: XY
bbox: xmin: 270194.7 ymin: 2255850 xmax: 279225 ymax: 2265469
epsg (SRID): 4326
proj4string: +proj=longlat +datum=WGS84 +no_defs
但是传单警告和输出没有变化。我在这里不确定,但这与更改维度和 bbox(似乎以米为单位)有关吗?
"Converting"变成Lon/Lat就是改变它的空间投影。一旦你知道了这一点,你就可以使用空间数据并在库中找到帮助投影空间特征的正确方法。
在你的例子中,使用 st_set_crs(IHS, 4326)
只是说投影是 Lon/lat,而不是投影它。
您需要使用 st_transform
:
IHS_wgs84 <- st_transform(IHS, "+init=epsg:4326")