Problem of calculating distance between Point Geometries.

2263
8
Jump to solution
09-27-2021 07:10 PM
Jae_Jeon
New Contributor II

Hello,

I passed the same distance as a parameter into two different methods of the same Point Geometry, Buffer() and pointFromAngleAndDistance(), but the results shows different distance. 

JaesikChun_2-1632794284397.png

a. Point Geometry / b. point from the method pointFromAngleAndDistance() / c. buffered polygon from Buffer()

1. distance from pointFromAngleAndDistance()  /  2. distance(radius) from Buffer()

 

The spatial reference of Point Geometry is EPSG 4326. (The point geometry objects for two methods is the same so, those methods are assumed to use the same distance measurement units of the same geometry's spatial reference.)

I also add a line of code to make the process.

JaesikChun_2-1632794903480.png

 

My question is how to match two distances(1,2 in the image above).

Thanks for any help. 

 

Tags (2)
0 Kudos
1 Solution

Accepted Solutions
DanPatterson
MVP Esteemed Contributor

I still think it is a display thing since a buffer can only create one radius,  I am thinking a Tissot's Indicatrix related issue since the SR is 4326


... sort of retired...

View solution in original post

0 Kudos
8 Replies
DanPatterson
MVP Esteemed Contributor

it is the coordinate system of your map. probably web mercator? if so, don't use web mercator to do any distance and direction measure, use a compromise (eg UTM ) or equadistant coordinate system


... sort of retired...
0 Kudos
curtvprice
MVP Esteemed Contributor

Dan, if you look at the code, @Jae_Jeon  is using geodesic distance, which avoids the coordinate system issue, but something weird is happening and it appears the buffer is not the size he's looking for.

On reading the help for arcpy.PointGeometry I'm wondering if what you need to use is not the default GEODESIC but, instead, GREAT_ELLIPTIC for your distance-angle method.

0 Kudos
Jae_Jeon
New Contributor II

Thanks for your answer. 

I tested it with 'GREAT_ELLIPTIC' and the result was not differnet from the one from GEODESIC

I also checked the output buffer geometry's spatial reference follows point geometry(epsg: 4326) 

0 Kudos
DanPatterson
MVP Esteemed Contributor

I still think it is a display thing since a buffer can only create one radius,  I am thinking a Tissot's Indicatrix related issue since the SR is 4326


... sort of retired...
0 Kudos
curtvprice
MVP Esteemed Contributor
Oh I get it. Change the CS of the map to equidistant and the point may line up with the buffer better.
Jae_Jeon
New Contributor II

It works properly after I changed SR to both UTM and equidistant one. 

Thanks for your help! 

0 Kudos
by Anonymous User
Not applicable

just to confirm: PointGeometry.buffer() creates a planar buffer (circle in the flat plane defined by the spatial reference), not a geodesic one.

For correct distance measurement at this map scale, I recommend using either the Buffer geoprocessing tool with geodesic method, or repeated application of pointFromAngleAndDistance with the geodesic method.

Jim TenBrink

spatial analyst team

0 Kudos
Jae_Jeon
New Contributor II

It's good to know. 

Thanks Jim. 

0 Kudos