# Tag Info

8

If you're home-brewing in the browser, you can get a "circle" (it will not be round on the screen due to your projection; rather approximated by a polygon w/ as many points as you care to draw), use a the direct form of geodesic calculations: given a point, a direction (azimuth), and a distance it gives you the resulting point. Gory details: http://en....

6

It seems to be a straight line in whatever projection system pertains when it is created. After that, it is recalculated in each new projection, and the software trys to make it 'stratght'. this is quite noticeable near the poles: a square drawn round the pole in a polar azimuthal projection will invariably turn into a circle (that is, the formerly stratight ...

6

The question concerns what kinds of curves deserve an implicitly exact representation rather than a discretized approximation. The crux of the matter is this: to be successful, the class of curves you support in this manner must be closed under the class of curve- and polygon-creation operations supported in the GIS. These operations include: Buffering....

4

I am afraid that the answer is no: what you mean to do is correct but it will not work like this in ArcGIS with Near. From the help, you can read that : The distances calculated by this tool are in the unit of the coordinate system of the input features. If your input is in a geographic coordinate system and you want output distances to be ...

4

Dan, You may be interested in some of the work I've been doing on geodesics. This is described in this preprint. In particular, note: The direct and inverse geodesics problems may be solved to machine precision. This means about 15 nm for double precision. I can switch to long doubles, add an extra term in the series, and get accuracy of 6 pm. Note in ...

4

You have to reproject every line into an azimutal equidistant projection based on one of its points, then densify the line. Since all points of your grid are connected to three lines, you can densify those three with the same projection. The Densify Geometry tool allows to densify only selected elements. See my example here on how to create great circles ...

3

You could try to use the move callback: var my_polygonhandler = OpenLayers.Handler.RegularPolygon; var polygonControl = new OpenLayers.Control.DrawFeature(circles, my_polygonhandler, { handlerOptions: { sides: 40 } }); polygonControl.handler.callbacks.move = function (e) { var linearRing = new OpenLayers.Geometry.LinearRing(e....

3

You are trying to solve the ellipsoidal triangle where φ1, α2, s12 are given. (See Figure 1 of the Wikipedia article, Geodesics on an ellipsoid, for the notation.) In your case, we have α2 = ±½π because of the requirement of tangency. This is Problem 7 in §10 of my paper Geodesics on an ellipsoid of revolution (Feb. ...

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,...

3

OpenLayers only allows for drawing circles using planar distances To get a geodesic circle, you could use the buffer operation in ESRI's geometry service. ...if unit is linear such as feet or meters, geodesic buffering is performed A freely accessible one is available here.

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

if you use PostGIS Geography Type for your table, you can calculate your area as you calculate on the plane surface. The geography type provides native support for spatial features represented on "geographic" coordinates (sometimes called "geodetic" coordinates, or "lat/lon", or "lon/lat"). Geographic coordinates are spherical coordinates expressed ...

3

The problem of computing the area of a polygon on an ellipsoid of revolution where the polygon edges are geodesics is solved in Section 6 of C. F. F. Karney, Algorithms for geodesics, J. Geodesy (2012); DOI: http://dx.doi.org/10.1007/s00190-012-0578-z; Addenda: http://geographiclib.sf.net/geod-addenda.html Code (C++, Python, Javascript, and Matlab) ...

2

First, be careful with phrasing. Your "the angle between two locations" is unclear. Keeping things to a simple sphere, the azimuth of any oblique great circle route depends entirely on where you measure it. It can range all the way from 0 to 360 and be correct. You probably seek the starting azimuth of a great circle route from a certain point to another ...

2

Here is the result I derived for the rhumb line area. This is the more interesting result. The great ellipse formula is more complex and is very similar to that for geodesics. Consider a rhumb line from (φ1,λ1) to (φ2,λ2). Determine the area of the ellipsoidal quadrilateral whose sides are this rhumb line segment, two meridional ...

2

If you look at the source for getGeodesicArea, which is actually in the LinearRing class, you will will see from the comments (and the code) that this calculates an approximate area based on a sphere. If you look at GeographicLib, which includes a Javascript port of the C++ library, you will see that they use ellipsoidal calculations, which will be more ...

2

The geodesic area for your example is 19518154994956.3 m² (using GeographicLib). E.g.: var points = [ {lat: 0, lon: 50}, {lat: -5, lon: -60}, {lat: -30, lon: -30} ]; var p = GeographicLib.PolygonArea; var result = p.Area(GeographicLib.Geodesic.WGS84, points, false); var area = result.area; // 19518154994956.285 Here are multiple ...

2

This is the answer to @Dan's question about using the auxiliary sphere to solve intersection problems. No, the auxiliary sphere doesn't let you solve for intersections directly. The problem is that the mapping from the ellipsoid to the sphere depends on the geodesic (e.g., its azimuth at the equator). Thus the auxiliary sphere is good for solving for a ...

2

The following is a very close approximation to the right answer which works under the assumption that the vertices of the polygon and the point in question all lie within roughly 2000 km of each other: Download and install the my C++ library GeographicLib. Using the test point as the center of projection, use the Gnomonic class to transform the vertices of ...

2

Try adding sr to arcpy.Polygon(polygon, sr)Here is the reason why: I sometimes see significant coordinate movement when I do not supply a Spatial Reference to an Arcpy Geometry object such as a Polygon or Polyline. Through research I've learned the default XY Resolution (significant digits) is .0001. This is correct for Projected data but much too large for ...

1

Found it.. var formatRadius = function(Circle) { var radius; if (geodesicCheckbox.checked) { var center = Circle.getCenter(); var pointOnPerimeter = [center[0], center[1] + Circle.getRadius()] var sourceProj = map.getView().getProjection(); var c1 = ol.proj.transform(center, sourceProj, ...

1

Old post, but came across it looking for drawing geodesic ellipsoids in OL3. If you just want to add it without creating a custom build, take a look at ellipsoid.js in the OL3 distro (ol\ol\ellipsoid). The vincenty methods appear to be in there without the greek symbols.

1

Some things are already in the library but at the moment, when the generated library is bundled, it does not export Vincenty methods. If you make your custom OpenLayers 3 build, you can change this behaviour. You should also ask on the official OpenLayers 3 list at https://groups.google.com/forum/#!forum/ol3-dev and take a look at those issues on the Github ...

1

In addition to an answer over in SO, the inverse geodetic solution is not easy with near-antipodal points, as your question has. The inverse geodetic problem is solved iteratively using Vincenty's 1975 algorithm, which fails to converge for near antipodal points. However, the problem is still solvable using a different approach. See page 40 of Rapp RH (1993)...

1

On the surface of a sphere, all lines are "horizontal lines" by definition. But you mean something else! If you refer to lines parallel to the equator (parallels of latitude), then they are all oriented E-W, i.e., have 0 or 270 azimuths. Any line, including those parallels, whose azimuth is unchanged at all points along it, is called a loxodrome (or rhumb ...

1

There are some methods to calculate geodesic distances such as the haversine formula and Vincenty's formulae. These formulae are commonly used. The inverse Vincenty distance formula is the more accurate method to calculate the geodesic distance and is used in Google Maps, but it is slow.

1

No, if using the ArcGIS "Near" tool because, even if the coordinate system is geographic/geodetic, it does not calculate geodesic distances; it merely treats those geographic coordinates as though they were projected and thus gives results that cannot be compared across the US. Yes, if you correctly calculate geodesic distances using geographic ...

1

Another option is to simply transform to an equal-area projection and compute the geometric area.

1

A somewhat higher-level view of Aragon's answer is as follows. In this paper: Robert Chamberlain & William Duquette, “Some algorithms for polygons on a sphere”. Proc. Association of American Geographers, 2007. (PDF) there is a formula for computing area of a polygon on a sphere. Here's two different versions copied from the paper; one or the other ...

1

A few resources for different languages (except C#) are listed here: http://trac.osgeo.org/proj/wiki/GeodesicCalculations One of them is a PROJ.4 utility geod, which probably has some underlying API. Check out Proj4Net, but I've never used it, and I'm not sure how mature or complete it is.

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