Я использую библиотеку OpenStreetMap
для построения координат по карте OSM.
Чтобы загрузить тайлы, я использую следующие значения широты и долготы в верхнем левом и правом нижнем углу:
library(OpenStreetMap);
library(rgdal)
lat_upper_left = 47.417;
lon_upper_left = 8.550;
lat_lower_right = 47.413;
lon_lower_right = 8.556;
map_osm <- openmap(
c(lat_upper_left , lon_upper_left ),
c(lat_lower_right, lon_lower_right),
type = 'osm'
);
plot(map_osm );
Карта рисуется нормально.
Однако, если я хочу нанести на карту несколько координатных точек, мне нужно поменять местами широту и долготу. Я не уверен, почему это:
coords <- data.frame (
lat = c( 8.55336768885581, 8.55464266203301), # Longitudes, really
lon = c(47.4147105656297 , 47.4154560068639) # Latitudes, really
);
coordinates(coords) <- ~lat+lon
proj4string(coords)<-CRS("+init=epsg:4326")
points(spTransform(coords, osm()), col='red', pch=19, cex=5)
Я был бы признателен, если бы кто-то мог пролить свет на это.
lon
и столбец долготыlat
. Назовите их как хотите. Но при указании координатlon
должно стоять передlat
. Думаю, именно так работают некоторые ГИС. - person Humpelstielzchen   schedule 13.06.2019coords
в консоль после запуска вашего кода (безOpenStreetMap
), он перечисляет всю CRS как+init=epsg:4326 +proj=longlat +datum=WGS84 +no_defs +ellps=WGS84 +towgs84=0,0,0
... обратите внимание на лонглат, предполагающий, что координаты указаны сначала по долготе. - person r2evans   schedule 13.06.2019