Ask A Cartographer

ArcObjects to Buffer a geometry with WGS84 SR using meters units for buffer

December 30 2010 | 2 comments
Categories: ArcGIS Methods, Map Data

The various ArcObjects discussions about IBufferConstruction implies that you can build a buffer around a geometry using geodesic distance. I know it can be performed using Geoprocessing, but my geometries are not in a feature class. My geometries are in WGS84 as a spatial reference (SR). I want to build a buffer around each geometry that is 100 meters. I cannot find sample code. In the past, I have converted the geometry to a UTM spatial reference and buffer in that SR, but my geometries can straddle multiple UTM zones.

Anyone have sample code?

Mapping Center Answer:

We wrote a blog entry on this subject a while back:

Using the Buffer Tool in ArcToolbox (and comparing with the Buffer Wizard in ArcMap)

Since you have point features and if they are in a geographic coordinate system, they will auromatically be buffered using the geodesic distance.

More info on this topic can also be found in Margaret Maher's recent book published by Esri Press called Lining Up Data in ArcGIS.

ArcObjects to Buffer a geometry with WGS84 SR usin posted by Mike Gillotte on Jan 5 2011 7:01PM
Two problems with using the Buffer Wizard. The Buffer Wizard requires that the geometries are contained in a feature class, and that all of the desired features are in the same layer.

I want to draw geometry elements (not features) and select the ones that I am interested in (points, polylines, polygons). IBufferConstruction implies that I can do what I want to do, but IBufferConstructionProperties states otherwise. Since the s/w behind the Buffer Wizard probably uses the IBufferConstruction for features, I want to do so for IElement objects.
Additional information posted by Aileen Buckley on Jan 6 2011 7:22PM
Since I don't work with ArcObjects, I don't have any specific information, but there are a couple of options for you:

1] If the POINT data are in a Geographic Coordinate System the Buffer Tool in ArcToolbox will generate buffers calculated using geodesic distance, if the buffer distance is specified in linear units.

The tool can be built into a model, then exported to a Python script to automate the process.

We strongly recommend that if you want to do a Dissolve on the buffers, that the Dissolve be run as a separate process, not as part of the Buffer Tool operation.

2] The link below contains a VB script that will generate geodesic buffers at 9.3.1. Since VB support was dropped at ArcGIS Desktop 10 you will mave to make sure you did the additonal VBA install. Even then I do not know if this will still work at 10, if the you have VB support added to your installation.

http://resources.esri.com/help/9.3/arcgisengine/com_cpp/samples/com/geometry/3615c9bc-2964-4fcb-95fc-5e94a1030471.htm

3] I've attached code from a previous incident where the user wanted a Java script that would allow his users to measure geodesic distance in Google Maps, which use Web Mercator, and severely distort distances.

4] There's code at the link below in the Esri discussion forums:

http://forums.esri.com/Thread.asp?c=93&f=1170&t=121719

Hope this helps! If you would like more information we can try find out who on the SDK team would be able to assist.

If you would like to post a comment, please login.

Contact Us | Legal | Privacy |