Hi Harry, The key issue is that you need to select the (Euclidean) coordinate system. For example, to represent the whole world, there are many possiblities (http://www.radicalcartography.net/?projectionref). If you are working with the great circle distance, make sure that the geographic coordinate system uses a sphere. Say if you want to use some equidistant coordinate system with center at 0,0 longlat (Lambert Azimuthal Equal-Area), you could then get the coordinates by using:
> P1 <- data.frame(E=35, N=25) > lambda <- 60 # azimuth! > dist12 <- 300000 > coordinates(P1) <- ~E+N > proj4string(P1) <- CRS("+proj=longlat +datum=WGS84") > P1.xy <- spTransform(P1, CRS("+proj=laea +lat_0 +lon_0 +x_0 +y_0")) > P2.xy <- data.frame(e=p1...@coords[1,1]+dist12*sin(lambda), n=p1...@coords[1,2]+dist12*cos(lambda)) > coordinates(P2.xy) <- ~E+N > proj4string(P2.xy) <- p1...@proj4string > P2 <- spTransform(P2.xy, CRS("+proj=longlat +datum=WGS84")) > P12 <- rbind(P1, P2) > P12 SpatialPoints: E N [1,] 35.00000 25.000 [2,] 33.55488 22.554 Coordinate Reference System (CRS) arguments: +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 > load(file=url("http://spatial-analyst.net/DATA/worldborders.RData")) > spplot(worldborders["NAME"], colorkey=FALSE, col.regions=rep(grey(0.5), length(levels(worldborders$NAME))), sp.layout=list("sp.points", P12, pch="+", col="red", cex=3)) But I would consider using the UTM or which ever coordinate system is of your interest; then you also need to convert the GCD to distance in the local system. For example, to represent the whole of USA (contiguous 48-state area) I typically use: +proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96 +x_0=0 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs See also: http://spatial-analyst.net/DATA/usgrids5km.zip cheers, T. Hengl http://spatial-accuracy.org/FromGEOSTAT2009 PS: I never got any photos from your trip to the Pyramids! > -----Original Message----- > From: r-sig-geo-boun...@stat.math.ethz.ch > [mailto:r-sig-geo-boun...@stat.math.ethz.ch] On Behalf > Of Harry Kim > Sent: Tuesday, October 06, 2009 7:23 PM > To: r-sig-geo@stat.math.ethz.ch > Subject: [R-sig-Geo] Determining a coordinate given another coordinate,a > great circle distance, > and an angle > > Dear R-sig-geoers, > > I am stuck with a problem and i was hoping if you could help me. > Suppose i am given a coordinate in lat/long (say 25 lat 35 long) and a > great circle distance (say 10km). Also assume that i am given an angle > with respect to latitude (an angle from the x-axis say 30 degrees). > What would be the best way to determine a coordinate 10kms away from > 25 lat 35 long with a given angle (30 degrees)? > > I think in euclidean space, I can use tangent of the given angle > and combine with the Pythagorean theorem to find the target > coordinate. > > Thank you very much in advance, > Harry > > _______________________________________________ > R-sig-Geo mailing list > R-sig-Geo@stat.math.ethz.ch > https://stat.ethz.ch/mailman/listinfo/r-sig-geo _______________________________________________ R-sig-Geo mailing list R-sig-Geo@stat.math.ethz.ch https://stat.ethz.ch/mailman/listinfo/r-sig-geo