# Tag Info

25

This summarizes my understanding of some of the basic ideas. Because it is hard to find all of them clearly described and summarized in one place, I could be wrong or misleading about some of them: comments and corrections are welcome. "Geoids" are approximations to a surface of gravitational equipotential. The geoid is a hypothetical Earth surface ...

25

After some looking around at Wikipedia and the same question/answer at StackOverflow, I figured I would take a stab at it, and try to fill in the gaps. First off, Not sure where you got the output, but it appears to be wrong. I plotted the points in ArcMap, buffered them to the distances specified, ran intersect to on the buffers, and then captured the ...

21

This question assumes an ellipsoidal model of the earth. Its reference surface is obtained by rotating an ellipse around its minor axis (plotted vertically by convention). Such an ellipse is just a circle that has been stretched horizontally by a factor of a and vertically by a factor of b. Using the standard parameterization of the unit circle, t --> ...

11

10

This answer is divided into multiple sections: Analysis and Reduction of the Problem, showing how to find the desired point with "canned" routines. Illustration: a Working Prototype, giving working code. Example, showing examples of the solutions. Pitfalls, discussing potential problems and how to cope with them. ArcGIS implementation, comments about ...

10

No, GPS does not 'correct' for continental drift per se. GPS can be (and is) used to measure drift. Drift is accounted for in the model of the earth used, aka datum or reference ellipsoid. GPS uses the World Geodetic System, or WGS, and most units report coordinates in the initial version established in 1984 (aka WGS84 coordinates). That model, and others ...

8

I am not a Geodesy expert, but far as I understand it, the geoid, is the shape that the surface of the oceans would take under the influence of gravity alone. It is the surface at which the intensity of gravity is the same. The Problem isn't that it is difficult to describe mathematically, but it might be impossible to predict correctly and accurately. ...

8

The question asks how to convert local coordinates into geocentric coordinates. As an example, What would be the geocentric coordinates of a point displaced 250 meters west and 250 meters south of -108.619987 degrees longitude, 36.234600 degrees latitude (at sea level)? (For the reason why only six decimal places are used here, please see http://gis....

8

One thing to keep in mind is that lat/long is geodetic and not geocentric: If we were to calculate elevation as a radius from the center of the ellipse, our elevation lat/long would be different than our horizontal lat/long! This is why there are two different datums. The horizontal datum is just a smooth ellipse, because it's easier to do trig ...

8

Internally, ST_Buffer(geography, ...) uses a fixed projection guess with _ST_BestSRID, which are typically UTM zones or whatever makes sense to the algorithm. This is why you see the differences, because they are different projections that are not optimized for the location of the points. For simple point buffers, you could use a custom azimuthal ...

7

I admire your enthusiasm but have to say you're not defining anything new. The simplest geographic/geodetic models of the earth are perfect spheres/globes. The only "difference" between that simple old system and your "new" system being that heights, instead of measured relative to the surface of the fixed-radius (R) sphere/globe, are now relative to the ...

6

One could use either kind of latitude to locate points on the WGS 84 ellipsoid (used by the NED) or any other ellipsoid, but "everybody knows" that the values will always be given as geodetic latitudes. However, it is surprisingly hard to find an authoritative statement to that effect! Before we go on, it helps to understand that although a datum like the ...

6

It looks like you've done everything correctly. You can evaluate the errors from each method by performing the inverse calculations to find the distance given the origin and destination coordinates, then evaluate the residuals of distances. This is a round-trip exercise. # For Vincenty's method: geopy_inv_dist = geopy.distance.vincenty(origin, destination)....

5

The IERS reference meridian is a weighted average of ground-based monitoring stations. Thus, tectonic monitoring must involve the motion of one's own plate relative to this global average motion.

5

This isn't so old-fashioned: I remember having to solve exactly this problem back in the 80's when we didn't have scanners readily available and had to lift coordinates and elevations off large-format printed maps for geostatistical analysis. In effect you can already read the longitude accurately along any line of longitude on the map. You want to ...

5

Right, a bit of trig, some simple algebra, and a ruler should get you there... assuming it is a conic projection with the north pole at the centre. First you need to determine the location of the north pole. To do that, you need to measure the distance along the bottom of your map of two points, A and B. To keep things positive, you can add a horizontal ...

5

I'm not sure if I'm being naive, but, if you buffer each point by size, and then intersect all three circles that would get you the correct location? EDIT: You can compute the intersection using spatial APIs. Examples: GeoScript Java Topology Suite NET Topology Suite GEOS

5

So there are two pieces to what someone might call a Coordinate System The first is a Geographic Coordinate System or GCS, which is what WGS84 falls under. The definition given by ESRI states that a GCS uses a three-dimensional spherical surface to define locations on the earth. Basically, a GCS is used to define your real world points on a 3 dimensional ...

3

I was curious to see how quickly @cffk's approach converges on a solution, so I wrote a test using arcobjects, which produced this output. Distances are in meters: 0 longitude: 0 latitude: 90 Distances: 3134.05443974188 2844.67237777542 3234.33025754997 Diffs: 289.382061966458 -389.657879774548 -100.27581780809 1 longitude: 106.906152157596 ...

3

As you note, this problem arises in determining maritime boundaries; it's often referred to as the "tri-point" problem and you can Google this and find several papers addressing it. One of these papers is by me(!) and I offer an accurate and rapidly convergent solution. See Section 14 of http://arxiv.org/abs/1102.1215 The method consists of the following ...

3

The pe.dll available with the free download of ArcGIS Explorer can be used to do this. See Exploiting the ESRI Projection Engine (second edition) for discussion.

3

Some (slightly) theoretical pointers: Instead of focusing on attributes, one approach to the problem might focus on exploring characteristics of movement patterns. Those could be explored by calculating aggregated characteristics of movement or dividing your data into logical 'chunks' (for instance, daily trajectories of certain objects). At next stage you ...

3

The difference is defined by the datum shift between the two reference ellipsoids. The shift itself is defined with a transformation (7 param. Helmert, 4 param,....) using 3D cartesian coordinates (X, Y, Z) which are calculated from ellipsoid coordinates (lat, lng, elevation). The transformation (parameters) is usually derived from a set of points which ...

3

If the wheels are pointing straight ahead, you are taking the shortest route toward some point directly ahead and thus following a great circle (or geodesic). If you wish to cross each meridian at exactly the same azimuth each time (and thus follow a rhumb line), you would have to gradually steer slightly more towards the meridian as you progress. Generally,...

2

This might work. Quickly again in python, you could put this in the body of a function xN,yN = coordinates of points, r1 & r2 = radius values dX = x2 - x1 dY = y2 - y1 centroidDistance = math.sqrt(math.pow(e,2) + math.pow(dY,2)) #distance from centroids distancePL = (math.pow(centroidDistance,2) + (math.pow(r1,2) - math.pow(r2,2))) / (2 * ...

2

The following notes use planarithmic geometry (i.e. you would have to project your coordinates into an appropriate local coordinate system). My reasoning, with a worked example in Python, follows: Take 2 of the data-points (call them a and b). Call our target point x. We already know the distances ax and bx. We can calculate the distance ab using ...

2

At least that's the formula I found at the US Data Analysis and Assessment Center (DAAC) for the Department of Defense (DoD) High Performance Computing Modernization Program (HPCMP) wiki. It does say that they borrowed heavily from Wikipedia's entry. Still, the fact that they retained that formula should count for something.

2

I'm not an expert on the subject, so feedback from others is welcome, but I think you should store in global geographic CRS - i.e. lat / lon in decimal degrees. Here's why (and this is the bit that could be wrong / inaccurate): When converting between projected CRSs you have to first convert to geographic and then to the target CRS. Each CRS must, as part ...

2

The heights on google earth refer to EGM96 and are, therefore, Geoidal heights. The lat/long are referred to the WGS 84 ellipsoid.

2

A third option and the one I ended up using is simple and works for anywhere but with the possible exception of the poles with accuracy for the NM example at less than 2 feet (58 cm). Given a single input of the geodetic coordinate (GDC) The first two steps have a lot done "in the background" by geotrans which is available for at least C/C++ and Java. It ...

Only top voted, non community-wiki answers of a minimum length are eligible