首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Lat/Long转换为UTM循环(R代码)

Lat/Long转换为UTM循环(R代码)
EN

Stack Overflow用户
提问于 2015-11-01 05:42:36
回答 1查看 1.1K关注 0票数 1

我为我的初学者问题提前道歉,但R空间分析对我来说是全新的。

我正在尝试将整个数据集(lat,long)转换为UTM厄瓜多尔(zone=17)。我下面的代码只转换第一个经纬度坐标。任何建议都将不胜感激!

代码语言:javascript
复制
require(proj4)
require(rgdal)
require(sp)
require(proj4)

## Load dataset, total h7_x length = 327463
h7 <- read.csv('h7.csv', header=T)
h7 <- data.frame(x=h7$h7_x, y=h7$h7_y)

## Convert Lat/Long to UTM
proj4string <- "+proj=utm +zone=17 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs"

## Transformed data
pj.h7 <- project(h7, proj4string, inverse=TRUE)
latlon.h7 <- data.frame(lat=pj.h7$y, lon=pj.h7$x)
EN

回答 1

Stack Overflow用户

发布于 2015-11-02 05:06:26

您可以这样做:

代码语言:javascript
复制
library(rgdal)

## Load dataset, total h7_x length = 327463
h7 <- read.csv('h7.csv')
coordinates(h7) <- ~ h7_x + h7_y
proj4string(h7) <- CRS("+proj=utm +zone=17 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")

latlon.h7 <- spTransform(h7, CRS("+proj=longlat +datum=WGS84 +ellps=WGS84"))

现在是一个可重现的例子(这是你应该如何设置一个问题,引用其他人没有的文件是没有帮助的。)

代码语言:javascript
复制
# example data
d <- data.frame(x=c(830816, 848933, 773072), y=c(9933229, 9861005, 9755835), id=1:3)

# create a SpatialPoints object 
coordinates(d) <- ~ x + y
proj4string(d) <- CRS("+proj=utm +zone=17 +south +ellps=WGS84 +datum=WGS84 +units=m +no_defs")

# transform
latlon <- spTransform(d, CRS("+proj=longlat +datum=WGS84 +ellps=WGS84"))
coords <- coordinates(latlon)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33456934

复制
相关文章

相似问题

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