ThinkGeo.com    |     Documentation    |     Premium Support

Thiessen polygons

Hi all,


Does ThinkGeo MapSuite 3.0 has the functionality to generate "Thiessen polygons" from a set of points (or PointShape)? 


thanks


Ariel



Ariel, 
  
   We do not have that feature out of the box however we would like add it.  I am doing some research now on the algorithm.  Let me see if we can put something together over the next few days. 
  
 David

Ariel, 
  
   I wanted to let you know we are making progress but it is not quite there yet.  I will keep you posted. 
  
 David

Hi David,


We already solve the problem using "Emgu CV" (emgu.com/wiki/index.php/Main_Page)  that is a free (GNU GPL license v3) cross platform .Net wrapper to the Intel  OpenCV (opencv.willowgarage.com/wiki/)  image processing library. You can download it using the above link. is free for non commercial use. 
This is a nice library that calculate the Voronoi diagrams and the Delaunay's Triangulation for a set of points. This library as you can see does a lot more that just that. Also, the performance is pretty impressive, so we stick with it, at least for now. 
We develop a wrapper class to integrate this functionality to the ThinkGeo framework, as you can see in the attached demo project (vs2008 solution). we create a shape file with the Voronoi Diagram (inside a convex bounding area)  from a set of PoinShape's that we read from an input shape file. In addition we also put inside the demo the creation of another shape file in this case with the Delaunay's Triangulation from the same set of input points. 
 
Thanks,
 
Ariel

1399-Voronoi_EMGU_ConsoleApplication.zip (24.7 KB)

Ariel, 
  
   I am glad you found a solution!  We are going to keep moving forward with add thing this feature.  If we can add out own version that would be preferred for us as third party libraries are a pain for us.  Of course you can manage your own dependencies that it is a good option for you.  I’m glad you brought it up so we can expand our library.   
  
   I wonder if it would be considered non commercial if we posted your sample in our Code.ThinkGeo.com community?  I would love to show people that there are options!  How many dll dependencies are there for the Intel library and the C# wrapper? 
  
 David 
  
 David

Hi David, 
  
 I do not think the publication of our sample code should be of any problem. Surely, there have to be mentioned the "Emgu CV" (emgu.com/wiki/index.php/Main_Page) project with the hyperlink to their home page for the referenced dll that has to be downloaded to make the sample code work. The sample code as you saw in vs2008, depends on Emgu.CV.dll and Emgu.Util for the "Emgu CV" library and cv200.dll, cvaux200.dll, cvextern.dll and cxcore200.dll. 
 The C# wrapper "Emgu CV" project has also a commercial license where you have to pay an small fee to use it. Go to their site (specified above) for a more detailed info about the fee and commercial license terms. 
  
 Ariel 


Hi David,  
 another question: 
 Does ThinkGeo came with the functionality to create Isarithmic lines? I was looking through the dlls of the MapSuite Web edition product and did not find any. 
  
 Thanks  
  
 Ariel 


Ariel,


  Just to let you know we have the Thiessen polygon stuff working.  I have attached a screenshot.  We supply the polygons for analysis as well.  The API is being packaged up but the algorithm is working well.  How many points do you normally process?


 




 



Ariel, 
  
   I do not believe we have this however we can look into it.  
  
 David

Hi David, 
  
 That’s great. Do you know if this new functionality will be available in the next release of ThinkGeo MapSuite 3.0 Web Edition? if that’s the case did you know when this release will be published? 
 About the amount of points we process, for the project we are working right now, we are processing around 100 000 points few times during the day. 
 thanks you and your team for the quick response. 
  
 Ariel 


Ariel, 
  
   How long does it take to get the polygons for 100,000 points?  We can compare it to our system.  We are working on wrapping the stuff into a nice API.  Most likely we will first release it as a code community project as a separate dll you can reference so you don’t have to wait for a release.  I would image we will have it out early next week. 
  
 David

Hi David, 
  
 it took us 204 milliseconds average to generate the polygons for 99100 in memory points. the hole process 1 second 400 millisecond average. (open shape, read features, create in memory points, generate polygons) . My Hardware configuration is Xeon CPU W3503 at 2.4 GHz, 2 cores, 6.0 GB DDR3 Memory, Win7 RC x64. 
 Both measures were taken from 10 runs in DEBUG mode inside VS2008 Team System SP1. 
  
 Thanks, 
  
 Ariel 


Hello Ariel, 
  
  My name is Val and I am part of the team currently working on the Voronoi polygons. If you don’t mind, could you tell us in what concrete scenario you need to have the Voronoi polygons build? I understand what they and how they are build but I have some doubts on how exactly it can solve real world situations. I am curious to know how you use Voronoi polygons for your spatial needs. Thank you. 
  
 Val.

Hi Val, 
  
 we are currently working in a project that involve the agriculture regional department and a meteorological research center. We use Voronoi polygons for a few things. for example, we have a shape containing punctual soil structure measurement, and we have to extend the specific soil characteristics to an spatial region around the each measured point, considering that one piece of terrain belongs to one soil type only (could be the nearest), that interpolating soil characteristics to create a regular grid is not feasible,  that the amount of points (measurements) we have scattered around the region will increase as new measurements take place during the project and after its completion (leading to a more realistic approximation of the soil type map for the region)  and that the resulting map should be done automatically by the program, leads us to use the Voronoi polygons as a feasible solution to the problem. We also use them to present some meteorological data interactively to the user. This type of diagram can be used also to calculate the area of influence of meteorological  stations due to the distance and the huge area they normally cover, when used as input data for agricultural simulation models (generally a circular area of influence is used, but then you have to deal with overlays and obscured areas).  
  
 Unfortunately, we do not have the research project’s web site publicly available right now. I can post the link as soon as the site is finish so you can find more information about it.   
  
 Ariel 


Thank you for sharing that information with us. We are holding further work on Voronoi functionality for now due to performance concerns with the geometry library found. If you can post the link to the site when it is finished, it will help when we decide to resume work on Voronoi polygons again. Thank you.

 Has this now been added to the ThinkGeo library? I can't find it in the documentation.



Hello Arnold, 
  
 Sorry we don’t support Voronoi for now, you can vote this enhancement to helpdesk.thinkgeo.com/EnhancementTracker. This captures the enhancement request and provides visibility to the customer letting them know that the enhancement is on a list somewhere and that popularity of the enhancement helps set the priority of when the enhancement would be added to the product. This option doesn’t carry any cost for you.  
  
 Or if you need this function immediately, your account rep can contact you for a professional services.  
  
 Regards, 
  
 Gary