【问题标题】:Lat/Long Conversion to UTM Loop (R code)经纬度转换为 UTM 循环(R 代码)
【发布时间】:2016-02-01 02:46:11
【问题描述】:

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

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

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)

【问题讨论】:

  • 我们可能需要查看h7.csv 的前几行和latlon.h7 的前几行

标签: r latitude-longitude spatial utm


【解决方案1】:

你可以这样做:

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"))

现在是一个可重现的例子:

# 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)

【讨论】:

    猜你喜欢
    • 2016-07-30
    • 2021-07-18
    • 2015-08-06
    • 2013-09-09
    • 2010-09-15
    • 2015-07-13
    • 2011-02-11
    • 2019-03-01
    • 2018-02-03
    相关资源
    最近更新 更多