sf sfc 对象的坐标变换似乎不起作用 [英] Coordinate transformation of sf sfc object does not seem to be working

查看:54
本文介绍了sf sfc 对象的坐标变换似乎不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个 R sf 对象:

I have a R sf object:

library(sf)
library(magritr)

g1 = structure(list(ele = c(1819.80249, 1821.150879, 1825.393188, 
1817.905029), time = structure(c(1542700973, 1542701079, 1542701326, 
1542701500), class = c("POSIXct", "POSIXt"), tzone = "UTC"), 
    geometry = structure(list(structure(c(36.228614, -0.38239
    ), class = c("XY", "POINT", "sfg")), structure(c(36.228447, 
    -0.382341), class = c("XY", "POINT", "sfg")), structure(c(36.227496, 
    -0.382352), class = c("XY", "POINT", "sfg")), structure(c(36.227352, 
    -0.382332), class = c("XY", "POINT", "sfg"))), class = c("sfc_POINT", 
    "sfc"), precision = 0, bbox = structure(c(36.227352, -0.38239, 
    36.228614, -0.382332), .Names = c("xmin", "ymin", "xmax", 
    "ymax"), class = "bbox"), crs = structure(list(epsg = NA_integer_, 
        proj4string = NA_character_), .Names = c("epsg", "proj4string"
    ), class = "crs"), n_empty = 0L)), .Names = c("ele", "time", 
"geometry"), row.names = 2:5, class = c("sf", "data.table", "data.frame"
), sf_column = "geometry", agr = structure(c(NA_integer_, NA_integer_
), .Names = c("ele", "time"), .Label = c("constant", "aggregate", 
"identity"), class = "factor"))

显示为

> g1
Simple feature collection with 4 features and 2 fields
geometry type:  POINT
dimension:      XY
bbox:           xmin: 36.22735 ymin: -0.38239 xmax: 36.22861 ymax: -0.382332
epsg (SRID):    NA
proj4string:    NA
       ele                time                   geometry
2 1819.802 2018-11-20 08:02:53  POINT (36.22861 -0.38239)
3 1821.151 2018-11-20 08:04:39 POINT (36.22845 -0.382341)
4 1825.393 2018-11-20 08:08:46  POINT (36.2275 -0.382352)
5 1817.905 2018-11-20 08:11:40 POINT (36.22735 -0.382332)

我想将坐标转换为 CRS=32736:

I would like to transform the coordinates to CRS=32736:

g1 %>% st_set_crs(32736) %>% st_transform(crs=32736)

给出:

Simple feature collection with 4 features and 2 fields
geometry type:  POINT
dimension:      XY
bbox:           xmin: 36.22735 ymin: -0.38239 xmax: 36.22861 ymax: -0.382332
epsg (SRID):    32736
proj4string:    +proj=utm +zone=36 +south +datum=WGS84 +units=m +no_defs
       ele                time                   geometry
2 1819.802 2018-11-20 08:02:53  POINT (36.22861 -0.38239)
3 1821.151 2018-11-20 08:04:39 POINT (36.22845 -0.382341)
4 1825.393 2018-11-20 08:08:46  POINT (36.2275 -0.382352)
5 1817.905 2018-11-20 08:11:40 POINT (36.22735 -0.382332)

坐标尚未重新投影.我做错了什么?

The coordinates have not been reprojected. What am I doing wrong?

推荐答案

基于以上评论:

g1 %>% st_set_crs(4326) %>% st_transform(crs=32736)

可能就是你要找的

# Simple feature collection with 4 features and 2 fields
# geometry type:  POINT
# dimension:      XY
# bbox:           xmin: 859306.9 ymin: 9957667 xmax: 859447.5 ymax: 9957673
# epsg (SRID):    32736
# proj4string:    +proj=utm +zone=36 +south +datum=WGS84 +units=m +no_defs
# ele                time                 geometry
# 2 1819.802 2018-11-20 08:02:53 POINT (859447.5 9957667)
# 3 1821.151 2018-11-20 08:04:39 POINT (859428.9 9957672)
# 4 1825.393 2018-11-20 08:08:46 POINT (859322.9 9957671)
# 5 1817.905 2018-11-20 08:11:40 POINT (859306.9 9957673)

这篇关于sf sfc 对象的坐标变换似乎不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆