Для более подробной информации: у меня есть набор координат в широте / долготе, и я хочу добавить соответствующие UTM-координаты во фрейм данных или SpatialPointsDataFrame.Для этого я до сих пор написал функцию, которая делает это, сначала преобразовав df в SpatialPointsDataFrame, перепроектирует в UTM и записывает координаты во входной DF.
WGS2UTM <- function(df, WGS_coords){
temp <- sp::SpatialPointsDataFrame(coords = WGS_coords, data = df,
proj4string = CRS("+proj=longlat
+ellps=WGS84 +datum=WGS84 +no_defs"))
temp <- spTransform(temp, CRS(as.character(unique(temp@data$EPSG_UTM))))
df$UTM_E <- sp::coordinates(temp)[,"x"]
df$UTM_N <- sp::coordinates(temp)[,"y"]
return(df)
}
Код EPSG, используемый для перепроектированияв функции содержится в DF как фактор.
Теперь к моему вопросу: так как мы часто имеем дело с местоположениями, распределенными по нескольким различным зонам UTM, я хотел бы иметь возможность применить вышеупомянутую функцию куровни факторов столбца EPSG_UTM.Я знаю, что семейство apply лучше всего использовать для такого рода операций, но я не могу понять это.Есть указатели?