Why are many of MATLAB's mapping functions reserved for data in geographic coordinates?
9 views (last 30 days)
Why are many functions for mapping in MATLAB only usable with data which are in geographic (lat long) coordinates? For example, adding a scale bar or north arrow using the scaleruler or northarrow functions is only possible when one has plotted one's map using geoshow (which as I understand it is for mapping data in geographic coordinates), and is not possible when the map was created using mapshow (which as I understand it is for mapping data in projected coordinates). I feel as though I must be missing something, because spatial data generally needs to be projected for proper analysis, so I do not understand why a "proper map" (one with a scale bar and north arrow) can only be created with unprojected data.
I know I am breaking the rules here by asking a very general question, so to summarize I will focus on two points: (1) Am I fundamentally misunderstanding the difference between geoshow and mapshow? That is, is geoshow only for data in geographic coordinates and mapshow only for data in projected coordinates? (2) Is it possible to create a map with map axes in MATLAB of data in projected coordinates?
Thanks for reading!!
Chad Greene on 24 Feb 2016
I think the answer to this question is that the Mapping Toolbox has never received due attention from TMW. I get the sense that its development has been primarily an underfunded side project. Perhaps the Mapping Toolbox would receive more attention from TMW if more people used it, but for people to use it, it would need to be developed further. Sort of a chicken or the egg scenario.
I recommend creating a north arrow manually, perhaps with annotation. You could also place a scale bar manually in projected coordnates. I wrote a function called scalebarps which automates scalebar placement and sizing. I wrote it for Antarctic projections, but you can use it for any projection as long as the axis units are meters.