2017-02-14 97 views
1

我使用geosphere包創建經/緯度的大圓軌跡:投影SpatialLines從經/緯度反對UTM

flightTraj = greatCircle(c(originAptLon, originAptLat), c(destinAptLon, destinAptLat), n = nPts, sp = TRUE) 

其性能:

class  : SpatialLines 
features : 1 
extent  : -180, 180, -52.74719, 52.74719 (xmin, xmax, ymin, ymax) 
coord. ref. : +proj=longlat +ellps=WGS84 

我想用WGS84橢球投影到UTM區域14製圖。我想:

projectedTrajectories <- CRS("+proj=utm +zone=14 +datum=WGS84 +units=km +no_defs") %>% 
    spTransform(flightTraj, .) 

但是,顯示在控制檯:

non finite transformation detected: 
    V1 lat 
    Error in .spTransform_Line(input[[i]], to_args = to_args, from_args = from_args, : 
    failure in Lines 1 Line 1 points 
    In addition: Warning message: 
    In .spTransform_Line(input[[i]], to_args = to_args, from_args =  from_args, : 
    6 projected point(s) not finite 

任何幫助,請。

回答

0

「結果好就一切都好......」

distOrigDest = distGeo(c(originAptLon, originAptLat), c(destinAptLon, destinAptLat), a = earthRadius, f = earthFlattening)/km2m 
nPts = 20 * floor(distOrigDest/cellCentroidDist) 
flightTraj = gcIntermediate(c(originAptLon, originAptLat), c(destinAptLon, destinAptLat), n = nPts, sp = TRUE) 
flightTraj = spTransform(flightTraj, "+proj=utm +zone=14 +datum=WGS84 +units=km") 
plot(flightTraj, col= "blue", add = TRUE, lwd = 2)