r语言 - 将经纬度坐标转换为兰伯特保角圆锥投影



我不是地图和坐标系统的专家。我需要将经纬度坐标转换为LCC(兰伯特共形圆锥投影)。我有一个城市坐标列表,我需要在地图上绘制。问题是地图的投影是"+proj=lcc +lat_1=43 +lat_2=62 +lat_0=30 +lon_0=10 +x_0=0 +y_0=0 +ellps=intl +units=m +no_defs"

我怎么做才能将经纬度坐标转换为地图的投影?

在城市和坐标的tibble下面:

cities <- tibble(city.name = c('Lisbon', 'Barcelona', 'Brussels'),
lon = c(-9.139337,2.173404,4.351710),
lat = c(38.72225,41.38506,50.85034))

如何根据地图的投影将这些坐标转换成坐标?

"+proj=lcc +lat_1=43 +lat_2=62 +lat_0=30 +lon_0=10 +x_0=0 +y_0=0 +ellps=intl +units=m +no_defs"

谢谢!

您可以使用sf包,其中包含sf::st_transform()。这将投影sf对象中的坐标。

library(tidyverse)
library(sf)
cities <- tibble(city.name = c('Lisbon', 'Barcelona', 'Brussels'),
lon = c(-9.139337,2.173404,4.351710),
lat = c(38.72225,41.38506,50.85034))
city_proj <- "+proj=lcc +lat_1=43 +lat_2=62 +lat_0=30 +lon_0=10 +x_0=0 +y_0=0 +ellps=intl +units=m +no_defs"
cities <- st_as_sf(cities, coords = c(2, 3))
st_crs(cities) <- 4326
cities <- st_transform(cities, crs = city_proj)
ggplot(cities) + 
geom_sf()

编辑:将初始CRS改为标准CRS。这使得转换更有意义。

最新更新