首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(多)多边形的反坐标

(多)多边形的反坐标
EN

Stack Overflow用户
提问于 2021-07-15 14:00:33
回答 1查看 328关注 0票数 2

我正在处理一些国家的分区的shapefiles,对于一个国家(冰岛),X和Y坐标似乎在shapefile中被交换。

数据可以在这里下载:shapefile数据;IS_50V:mork_kjordaemi是相关的数据集,在下载下拉菜单中选择“download”选项。我一直在使用R中的"sf“包来完成所有的shapefile工作,并且它对我拥有的所有其他shapefile数据都做得很完美。

library(sf)

ic_2003 <- downloaded_data

st_crs(ic_2003)给了我

代码语言:javascript
复制
Coordinate Reference System:
  User input: ISN2016 
  wkt:
GEOGCRS["ISN2016",
    DATUM["Islands Net 2016",
        ELLIPSOID["GRS 1980",6378137,298.257222101,
            LENGTHUNIT["metre",1]]],
    PRIMEM["Greenwich",0,
        ANGLEUNIT["degree",0.0174532925199433]],
    CS[ellipsoidal,2],
        AXIS["geodetic latitude (Lat)",north,
            ORDER[1],
            ANGLEUNIT["degree",0.0174532925199433]],
        AXIS["geodetic longitude (Lon)",east,
            ORDER[2],
            ANGLEUNIT["degree",0.0174532925199433]],
    USAGE[
        SCOPE["unknown"],
        AREA["Iceland"],
        BBOX[59.96,-30.87,69.59,-5.55]],
    ID["EPSG",8086]]

head(ic_2003)给了我

代码语言:javascript
复制
Simple feature collection with 6 features and 15 fields
Geometry type: MULTIPOLYGON
Dimension:     XY
Bounding box:  xmin: 63.29577 ymin: -24.53268 xmax: 66.56644 ymax: -13.49462
Geodetic CRS:  ISN2016

我试过ic_2003 <- st_transform(ic_2003, 4326),但这不能解决问题。

我也尝试过ic_2003 <- st_transform(ic_2003, pipeline = "+proj=pipeline +step +proj=axisswap +order=2,1"),就像这里一样,但是这也不能解决这个问题。

如果我把数据绘制出来

代码语言:javascript
复制
ggplot(ic_2003) +
 geom_sf() +
 coord_sf() 

我得到了正确的形状,但旋转了90度,在世界地图上的错误位置。

如果你能给我任何帮助,我将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-15 15:29:31

必须有一种简单的sf方法,但是您也可以使用purrr::modify (它的工作方式类似于map)来交换所有的几何学lat/lon列(列表中的一个列表中的一个矩阵),而不需要更改sf属性.

代码语言:javascript
复制
library(sf)
library(tidyverse)

ic_2003 <- st_read("mork_kjordaemiPolygon.shp") #from link above

ic_2003 <- ic_2003 %>% 
      mutate(geometry = modify(geometry, modify, ~list(.[[1]][,c(2,1)]))) 

ggplot(ic_2003) +
  geom_sf() +
  coord_sf() 

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68395283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档