ThinkGeo.com    |     Documentation    |     Premium Support

Graticule Customization

Hi,


I've recently been working on a project that is supposed to be using Spherical Mercator as the internal projection.  In this project, I have a graticule layer.  However, the graticule only displays in decimal degrees instead of meters and the interval is hardcoded to 50 degrees no matter what my zoom level.


I read previously in the "Graticule with Google Projection" sample project that the graticule layer is inherently geodetic, and you must set the internal projection of this layer to WGS84 string and the external to the desired (Spherical Mercator); however, this still yields a graticule in decimal degrees and at 50 degrees interval.


How do I display the graticule in meters and to control the interval more sensibly?


Thanks,


Damian A. Hite


 


 


 


 


 


 


 



Hi Damian, 
  
 Currently, it’s hard to do this, if we overwrite the drawCore method of the GraticuleLayer, that’s a bit complicated, now we are considering public more APIs, so that we can be easy to customize some prameters. We will update the status ASAP. 
  
 Best Regards! 
 Johnny

Hi Johnny,


Okay, so maybe making the labels into meters is difficult, but I am still having some problems just using the graticule in other projections that maybe you could explain or help me to fix.


Attached is a short project.  In the form load event, the countries02.shp is loaded and also a graticule adornment layer.  For this initial run, the MapUnit is in DecimalDegrees.  All displays as expected.  When I zoom, the graticule lines show finer spacing.


I have added a button to the form.  When you click the button, the MapUnit is changed to Meters and the external projection of the shape and graticule are updated to Spherical Mercator.  The shape file looks correct, but the graticule still displays in it's original coordinate space, so you have to zoom in to see it's off the west coast of Africa.  Why doesn't the graticule update to be on the Spherical Mercator grid?


If you click the button again, you will go back to the Decimal Degrees unit and all displays and zooms as expected.


In the code, I have 3 questions surrounding some lines of code where something isn't acting as I expect.  If you could answer them, that would be great.


Even better, if you could get this project to work in the Spherical Mercator mode so that the graticule will be the correct extent and the graticule lines update based on the zoom level I would be most happy.


Thanks and Regards,


Damian



GraticuleVsMapUnit.zip (39.3 KB)

 Damian,


This issue has been fixed and your sample runs fine now with the lastest code, so please download 6.0.64.0 (dev branch) or 6.0.0.64(release branch) and have another try.


Thanks,


Ben



Hi Ben,


I've loaded in 6.0.0.64 and it's still the same as before.  When in spherical mercator mode with map unit in meters, the graticule displays as a tiny grid of lines centered around X, Y (0,0).


See screen capture.


Regards,


Damian



 Damian,


I'm sorry we had some issues in auto build and the changes are not integrated in. Please get today's version then (6.0.0.65) and have another try. Also we simplified your code and you can easily tell what is the minum code you need to implement such feature and what issues there in the original code. Please have a look. 


Ben



GraticuleVsMapUnit0717.zip (11.8 KB)

Ben, 
  
 Yes, it’s working now.   
  
 Thanks, 
 Damian

Hello Damian, 
  
 You are welcome, please feel free to let us know your problem. 
  
 Regards, 
  
 Gary