ThinkGeo.com    |     Documentation    |     Premium Support

Contouring

Hi,


When searching for contouring in the discussion i found few snippets mentioning it but no sample code or examples. I need to be able to draw contours (isolines) based on randomly spaced sampling points that each contain concetration of a contaminant. 


Can you help?


Thanks


 



Jakub, 
  
 Currently we don’t have such APIs to support conturs drawing dynamically, do you have the arithmetic for that? If not, it is a big project please contact professional service team to help you on your application, 
  
 Thanks, 
  
 Scott,

The math is available online.


The most common implementation is through Kriging.


There is quite a bit on the web, for example:


nbb.cornell.edu/neurobio...iging.html


val.ics.tut.ac.jp/projec...ource.html


some theroy


vefir.hi.is/para10/extab/para10-paper-81.pdf


 


What is the functionality of your contouring/isolines and heat map functions mentioned in some recent posts?


thanks


 


 



Jakub,


Here is another post that related to the heat map(isolines) below:


gis.thinkgeo.com/Support/Dis...fault.aspx


I believe you can get the sample from this post and modify it based on it to meet your requirements,


Thanks,


Scott,



Hi Scott,


 


That is the one of the posts I saw but in th description it says


As a caveat on heat map in GIS, it is worth mentioning that while this is great tool for displaying data in a very appealing and communicative way, it cannot be used as an analysis tool for studying spatial behaviors. For spatial analysis, GRID is the appropriate tool. Although a heat map looks like a GRID, it is not one and it cannot substitute GRID for spatial analysis. 


I need to draw contours of certain contaminant concentration that can be expected to be reasonably accurate based on the interpolated data. The heat map does not seem to do that, based on the above caveat. Or am i reading it wrong?


here is a very good dscription of Kriging. Kriging is generally accepted method of interpolation in most geosciences (ArcGis has a kriging function).


oilandgastraining.org/data/g...Code=23365


and some C code


codeguru.com/cpp/misc/mi....php/c3775


 



Jakub, 
  
 We really don’t have enough times to work on this project for you, please contact our Professinal Service team and they will provide the professional services for your requirements. The forum just resolve the general issues or bugs for customer, so about your project, our professional service team can help you properly. 
  
 Thanks, 
  
 Scott,

Scott,


Thanks for your help. I will contact Professional services when I need project developed..


for now I have few questions to assess current funcionality:



        
  • what  is what is the functionality/purpose of the heat map and isolines discussed in other posts?

  •     
  • How are they created? What algorithm is used in their creation?

  •     
  • Why is heat map not appropriate for spatial analysis?

  •     
  • Are the isolines appropriate for spatial analysis?


I believe that these are appropriate questions for the discussion forum.


thanks


Jakub


 



Jakub,


I answered your questions one by one below:


1, The heat layer's data isn't based on the number of data points. Firstly, we should set a FeatureSource (typically a shape file with point type) for a HeatLayer, there are two ways to interpret heat map's functinality/purpose.

 

Use column value as intensity value ( by setting HeatStyle.IntensityColumnName) .

Use predefined value as intensity value (by setting HeatStyle.PointIntensity)

 

The following link demonstrates how to use heat map.

 

wiki.thinkgeo.com/wiki/Map_S...eat_map.3F


2, The HeatMapStyle uses GDI+ to create the densities and not strict interpolation. By setting the point density the point is drawn with a circle which goes from white to black from its edge. This is done using greyscale values and after all the points are drawn then we color the greyscale using the color range specified. This is very quick but sacrifices accuracy. For spatial analysis, GRID is the appropriate tool. Although a heat map looks like a GRID, it is not one and it cannot substitute GRID for spatial analysis. If you need interpolation using IDW or something similar then I suggest you use the GridFeatureLayer I believe. This layer allows you to setup a number of data points, a grid size, an interpolation method and will generate a proper grid. You can then use another style to color the grid values.


3, 4, Currently we are still working on the spatial analysis for heat map.


Thanks,


Scott,


 



Thanks Scott, 
 Can you repost the link? It is truncated in the message above 


Jakub, 
  
 Here is the complete url link for you below: 
  
 wiki.thinkgeo.com/wiki/Map_S...eat_map.3F2 
  
 Any more questions please let me know, 
  
 Thanks, 
  
 Scott,

Scott,


the link is broken again.


Can you repost?


 


Thanks


Jakub


 



Jakub,


The link below demonstrates how to use heat map. Please check it.


wiki.thinkgeo.com/wiki/Map_S...s#Heat_Map


The plain link text is "wiki.thinkgeo.com/wiki/Map_Suite_Web_Edition_All_Samples#Heat_Map"


Regards,


Ivan



I have converted the above sample to the WebEdition. 

The GridDefinition, GridInterpolationMode and GridFeatureSource.GenerateGrid are not defined. What do I need to do to declare them in the WebEdition? 

 



Jakub, 
  
 Thanks for your questions! 
  
 Actually, you don’t need to declare them in the WebEdition sample, I think you don’t reference the MapSuiteCore.dll or not using the ThinkGeo.MapSuite.Core namespace. These objects are defined in the MapSuiteCore namespace. Please check your project and reference the MapSuiteCore.dll and using the ThinkGeo.MapSuite.Core namespace to fix this problem. 
  
 Any more questions please let me know, 
  
 Thanks, 
  
 Scott,

You are correct. I forgot to update the DLLs for this app. 
 Now I am getting the following error 
 Exception Details: System.InvalidOperationException: Failed to map the path ‘/’. 


Jakub, 
  
 I would like to ask you where was the exception occurred in your application? According to the exception details I think that is not our bug, please check virtual path, it seems that your virtual path is incorrect when you reference the source files.  The exception was threw from the System.InvalidOperationException namespace. Obviously, that’s a ASP.NET error in your application. Please review your code and environment again. 
  
 Any more questions please let me know, 
  
 Thanks, 
  
 Scott,

Scott, 
  
 I think it is caused by your tools. All other pages in the applicaton work fine incuding Google maps and Infragistics grids. All pages with ThinkGeo tools show this error. 
 This app was migrated from Windows Vista dev machine to Windows 7, from VS2008 to VS2010 and from your version 4.5 to v 5.  
 Before I upgraded the your DLLs to version 5 the pages worked. 


Jakub, 
  
 Thanks for your further information, I still need to confirm with you first, did you check the virtual path again? I’m afraid of loading the files the virtual path is incorrect and caused the exception. If you cannot find out the exact problem please arrange a simple sample that remove all of the google maps and infragistics grids so that it just has our map to see if the exception is still occurred. If that, please send the sample to us we will research it. 
  
 Thanks, 
  
 Scott,

The issuew was the fact that the application was also declared in the IIS 7.0. Once removed it works fine. 
 New issue cropped up: 
 I converted your sample GRID page to VB.NET. It runs fine except this line 
 Dim layerOverlay As LayerOverlay = TryCast(Map1.CustomOverlays("GridFeatureOverlay"), LayerOverlay) 
  
 Generates following error: The given key was not present in the dictionary.  
  
 What can I do to fix it and generate the grid? 
  
 Thanks 
 Jakub 


Also. The Google map covers the Grid points. Is there a way to reverse order? Google map at the bottom and points on top?