ThinkGeo.com    |     Documentation    |     Premium Support

Map.RestrictedExtent - maxY overflow

Hi,


I've tried to set the RestrictedExtent for my map, but it throws an exception if I use the value 6,750,000 for maxY !??


The value 6,500,000 seems to be acceptable, so the overflow occurs somewhere between these two values.


Now, my coordinates are UTM, and UTM have a valid range for Y (Northing) coordinates of up to 10,000,000 meters.


So what gives ? What's causing this unexpected exception ??


 



I would make sure that the MapUnit of the map is set to Meters. 
  Map1.MapUnit = GeographyUnit.Meter; 
  
  If you are still having problem, please send us your code or preferably a self contained sample app that isolates the problem. 
  
 Thank you.

Hi,


I always work in projected systems, and so always use MapUnits = Meters


The problem remains. Here's the essence of what I'm doing. I want the restricted extent to be twice as large as the current (=max) extent of the map. Restiction rectangle end up being X = 150000-1150000 and Y = 5750000-6750000, well within UTM definition limits.



Map1.MapUnit = GeographyUnit.Meter
Map1.CurrentExtent = New RectangleShape(400000, 6500000, 900000, 6000000)

Dim minx As Double = Map1.CurrentExtent.LowerLeftPoint.X
Dim miny As Double = Map1.CurrentExtent.LowerLeftPoint.Y
Dim maxx As Double = Map1.CurrentExtent.UpperRightPoint.X
Dim maxy As Double = Map1.CurrentExtent.UpperRightPoint.Y

Dim dx As Double = maxx - minx
Dim dy As Double = maxy - miny

Map1.RestrictedExtent = New RectangleShape(minx - dx / 2.0, miny - dy / 2.0, maxx + dx / 2.0, maxy + dy / 2.0)

 

Cheers


 



Lars I.


It seems that there is something improper with parameters of RectangleShape, the constructor of which should be "RectangleShape(double minX, double maxY, double maxX, double minY)", but seen from the above, it is "RectangleShape(double minX,double minY,  double maxX, double maxY). Please use the code below:

 




Map1.RestrictedExtent = New RectangleShape(minx - dx / 2.0, maxy + dy / 2.0, maxx + dx / 2.0, miny - dy / 2.0). 


Thanks,


Johnny



Argh, this "gotcha" has gotten me before :-(


In every other gis related systems I've worked with, including wms, it's always (minx,miny,maxx,maxy), so it's very hard to get used to using (minx,maxy,maxx,miny) in Map Suite. Out of curiosity, is there a reason why you've switched the "normal" order ?


Thanks Johnny, I'll look into it tomorrow.


 



Lars, 
  
   My guess is that our way represent the upperleft point then the lowerright point.  For example it is UpperLeftX , UpperLeftY, LowerRightX, LowerRightY.  To me this makes more sense as you typically think of a bounding box as Upper Left and Lower Right points.  The other way would be Lower Left point and Upper Right point which seems strange.  This is just my guess. 
  
 David