Select to view content in your preferred language

Thiessen Polygons, geodesic alternative, for median between polygons

2026
7
Jump to solution
01-25-2022 06:51 PM
jarlgeorge
Emerging Contributor

Hi all!

I am currently determining the median line between islands.

For islands near each other, I use Thiessen polygons.

Thiessen polygons output is planar so I guess it is okay to use them when the islands are near each other.

However, for islands that are far away from each other, how can I determine the median line between them? since the effect of Earth's curvature needs to be considered in this.

 

0 Kudos
1 Solution

Accepted Solutions
DanPatterson
MVP Esteemed Contributor

You will have problems then, that distance is too large for using long/lat for a regular voronoi/thiessen, you could try one of the packages that produce voronoi on a sphere, or find a projection suitable for your area and use that.  If your islands are also in decimal degree coordinates, you could try to densify their perimeter to help maintain island shape when the projection occurs.  That would be my recommendation... use projected data (densified if necessary) as a first run before investing too much time on something that doesn't need a high degree of accuracy.  


... sort of retired...

View solution in original post

7 Replies
DanPatterson
MVP Esteemed Contributor

You don't want to use an appropriate projected coordinate for your area? (that would be my recommendation)

And what distance of the extent of the islands?

Planar coordinates would be best in most situations, but there are tools for voronoi diagrams (thiessen) available in scipy (qhull).

Are you using this... Create Thiessen Polygons (Analysis)—ArcGIS Pro | Documentation

and quoting the caution therein?

 


... sort of retired...
jarlgeorge
Emerging Contributor

Hi DanPatterson!

The maximum distance between islands I am working on is around 650 km. I tried using the Thiessen Polygons but my workmates pointed out that I need to create a geodesic median line instead.

0 Kudos
DanPatterson
MVP Esteemed Contributor

You will have problems then, that distance is too large for using long/lat for a regular voronoi/thiessen, you could try one of the packages that produce voronoi on a sphere, or find a projection suitable for your area and use that.  If your islands are also in decimal degree coordinates, you could try to densify their perimeter to help maintain island shape when the projection occurs.  That would be my recommendation... use projected data (densified if necessary) as a first run before investing too much time on something that doesn't need a high degree of accuracy.  


... sort of retired...
jarlgeorge
Emerging Contributor

Thank you for the recommendations, I am thinking of creating two versions. I did the first version earlier, where I created multiple ring buffers (geodesic) on both islands with 0.1 and 2 nautical mile gaps depending on the distance. Then, I intersected the resulting buffers, which gave me polygons. Filtered them until the center polygons remained. Then I created a line (arc segment) that connects the intersection, where the arc is anchored at the centroid of the polygons.

For version 2, I think I'll be using the Thiessen Polygons. I need to find a suitable projection first.

For the voronoi polygons on sphere, I'll be raising this alternative to my colleagues. I haven't use packages before so I am unsure if I want to use it.

Anyway, thank you for pointing out the importance of projection when using Thiessen Polygons. I kinda defaulted on using GCS_WGS84 on every project were working on, and also for introducing concepts such as Densify and Voronoi on Sphere.

0 Kudos
DanPatterson
MVP Esteemed Contributor

example for some islands in Nunavut Canada, lambert conformal conic projection.

Select by location with have their center in to remove the voronoi polygons that were within the island polygons. 

next steps perhaps convert voronoi to polylines

polylines to segments

select segments that have an endpoint touching an island

remove them and that should leave the remaining lines

median_.png


... sort of retired...
by Anonymous User
Not applicable

Hello,

I recommend using the Euclidian Allocation tool with the geodesic distance option. Convert the output raster zones to polygons, then use the Polygon To Line tool.

 

Regards,

-Jim TenBrink

spatial analyst team

DanPatterson
MVP Esteemed Contributor

Both work,  the voronoi approach (around my islands) does allow you to devolve the voronoi edges incrementally if you want to explore other things.

In the image below is the eucl-alloc raster and the devolved voronoi.  The latter was produced by first using select by attributes any polygons that abutted the island.  The remaining polygons were converted to polylines, then I used trim lines to remove dangling lines (lines with only one touching end point.  I didn't specify a dangle length just so I could monitor what was happening.   There are other ways of processing the data, so don't take this as the procedure to follow in all instances.

Voronoi_eucl_alloc.png


... sort of retired...