[mapguide-dev] area calculation conversion to meters
Traian Stanev
traian.stanev at autodesk.com
Sun Dec 3 12:58:53 EST 2006
I'm far from an expert either, but here is what makes sense to me...
The simplest solution to me seems to transform to the nearest UTM Zone projection in meters and compute the area of the resulting geometry. I think this will be accurate enough for what you are doing, since it is very likely that the original data (for Sheboygan) was measured in that UTM zone and then converted to LatLon after the fact anyway. That's why it seems to me that this approach will give you exact results, even though in theory it is not exact (since the data can be far away from the UTM Zone's central meridian).
Another, more generic approach, that would be good for small features, would be to construct a UTM coordinate system definition centered around the meridian that crosses the centroid of the feature. This will give you an LL-UTM transformation with the least distortion for the feature at hand.
My hunch is that computing an exact area on the ellipsoid without projection involves elliptical integrals, since even the area of a whole ellipsoid involves those. Elliptic integrals have no closed form solution so you would need a numerical integration approach, which hurts my head even thinking about it.
Traian
-----Original Message-----
From: Paul Spencer (External)
Sent: Sat 12/2/2006 12:04 PM
To: dev at mapguide.osgeo.org
Cc:
Subject: Re: [mapguide-dev] area calculation conversion to meters
Trevor,
That would work for GetLength() but I wonder if you need to adjust
for latitude as well ... and it doesn't work for area. I pondered
doing this for the square root of the area and then squaring the
result ... I think that would work, but again it would have to be
adjusted for the latitude ... or am I over-engineering this?
Paul
On 1-Dec-06, at 4:10 PM, Trevor Wekel wrote:
> Hi Paul,
>
> For the most general case, I think you're on the right track. Most of
> the geometry classes support the Transform() operation. The
> MgCoordinateSystemTransform allows transformation from one coordinate
> system to another. I'm not a coordinate system expert but from what I
> understand most coordinate systems projections have an accurate sweet
> spot in the center and become more inaccurate around the edges. I
> wonder if there is a programmatic way to determine the appropriateness
> of the target system? Possibly based on center point of the
> projection?
>
> But if your target system is in decimal degrees, doesn't that imply a
> direct mapping to the world space? Isn't a decimal degree some number
> of meters? Could you just use
> MgCoordinateSystem::ConvertCoordinateSystemUnitsToMeters(double units)
> as the conversion factor? I suspect this may also work in the sweet
> spot of projected systems as well.
>
> Thanks,
> Trevor
>
> -----Original Message-----
> From: Paul Spencer (External)
> Sent: Thursday, November 30, 2006 3:03 PM
> To: dev at mapguide.osgeo.org
> Subject: [mapguide-dev] area calculation conversion to meters
>
> Hi all,
>
> I'm measuring the area and length of features using
> MgGeometricEntity::GetArea() and GetLength() in the Sheboygan data.
> This returns values in the units of the projection, which happens
> to be
> decimal degrees. Not so useful. I'd like the result to be in meters.
>
> Since this code needs to be generic, I've implemented some stuff to
> transform the geometry into a coordinate system that supports meters.
> This is not too accurate since I arbitrarily picked a World LCC
> projection wkt :)
>
> What is the recommended way of doing this calculation?
>
> Cheers
>
> Paul
>
> +-----------------------------------------------------------------+
> |Paul Spencer pspencer at dmsolutions.ca |
> +-----------------------------------------------------------------+
> |Chief Technology Officer |
> |DM Solutions Group Inc http://www.dmsolutions.ca/ |
> +-----------------------------------------------------------------+
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe at mapguide.osgeo.org
> For additional commands, e-mail: dev-help at mapguide.osgeo.org
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe at mapguide.osgeo.org
> For additional commands, e-mail: dev-help at mapguide.osgeo.org
>
+-----------------------------------------------------------------+
|Paul Spencer pspencer at dmsolutions.ca |
+-----------------------------------------------------------------+
|Chief Technology Officer |
|DM Solutions Group Inc http://www.dmsolutions.ca/ |
+-----------------------------------------------------------------+
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe at mapguide.osgeo.org
For additional commands, e-mail: dev-help at mapguide.osgeo.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/mapguide-internals/attachments/20061203/6263e1ca/attachment.html
More information about the Mapguide-internals
mailing list