ThinkGeo.com    |     Documentation    |     Premium Support

CurrentExtent.LoadFromWellKnownData

     Does this method actually work?


 I'm trying this and doesn't work:


         WpfMap1.CurrentExtent.LoadFromWellKnownData("POLYGON((-11.3818359375 44.9560546875,2.5048828125 44.9560546875,2.5048828125 35.15625,-11.3818359375 35.15625,-11.3818359375 44.9560546875))")


  The well known data is what I got from the WpfMap1.CurrentExtent.GetWellKnownText()




 I'm ussing 4.5.0.0 assemblyes.



 You need to create a PolygonShape from your Well Known Text because the type is POLYGON. From the PolygonShape, you get the bounding box which returns a RectangleShape and set it to the current extent of the map and it centers on Spain!  See the code below:


 


 



   PolygonShape extentPolygonShape =
    new PolygonShape("POLYGON((-11.3818359375 44.9560546875,2.5048828125 44.9560546875,2.5048828125 35.15625, -11.3818359375 35.15625,-11.3818359375 44.9560546875))");

    wpfMap1.CurrentExtent = extentPolygonShape.GetBoundingBox();


Hi Val, 
  
  Your code just works, but then creates me two more questions: 
  
  1. What’s the point of CurrentExtent.LoadFromWellKnownData then? 
  2. Will WpfMap1.CurrentExtent.GetWellKnownText() always return a POLIGON? 


To answer your question 2 the answer is yes. CurrentExtent.GetWellKnowText() will always return a POLYGON because there is no format for rectangle in WKT and a RectangleShape will be converted to a WKT POLYGON. See the article of Well Known Text  en.wikipedia.org/wiki/Well-known_text


To answer your question 1, I tested the result of setting the current extent using LoadFromWellKnowData and I could not get the correct result. I contacted the developement team so that they can take a look at that and see if this is a bug. We should hear from them soon. Thank you.



Hi Carlos, 
  
 For your question one; I will explain you the detail. WpfDesktopEdition maintains scale and center to navigate the position of your map. While scale and center can be used to calculate the current extent you needed. So if we set the CurrentExtent property, the center and scale will be also associated. On the other hand, when setting the CurrentExtent property, we have other logic to execute, so it’s not a simple property.  
  
 When using LoadFromWellKnownData method, it avoids calling the set method so that some important logic is missed and this problem is happened. I think it’s weird to have this issue and I have added this issue to our issue list, please use set method of this property temporary and we will fix it later. 
  
 Sorry for the inconvenience. 
  
 Thanks, 
 Howard

No problem. 
  
  Thanks, 
  
 Carlos.

Carlos, 
  
 Thanks for your understanding. We will carefully consider this issue and make it fixed. 
  
 Thanks again, 
 Howard