Mapping Toolbox: Using a map created by geoshow(Z,R), how do I find the new map geocoordinate limits after the Zoom tool is used to rubberband and zoom in to a new area on map?
3 次查看(过去 30 天)
显示 更早的评论
So I have gridded geospatial data in a figure created with geoshow(Z,R). This figure has latLim and lonLim associated with axesm. These do not change after the zoom event. Axis has properties xmin xmax ymin ymax that do change, but these values are in pixels? normalized? Are these axis limits the values that have to be converted to lat/lon coordinates? If so, How? If not, what is the appropriate approach?( FYI:using MATLAB 2011ra but 2014 will be made available to me soon if the answer makes a difference) Thanks! example: some values recorded in process:
>> figure
>> worldmap(MTX,REF)
>> h=geoshow(MTX,REF);
>> getm(gca,'MapLonLimit')
ans =
-210.1333 -120.8000
>> getm(gca,'MapLatLimit')
ans =
49.8000 80.1333
>> axis
ans =
-0.4716 0.4716 0.8680 1.4465
>> % USED Toolbar zoom tool to ZOOM in NOW. New values below...
>> getm(gca,'MapLonLimit')
ans =
-210.1333 -120.8000
>> getm(gca,'MapLatLimit')
ans =
49.8000 80.1333
>> axis
ans =
-0.1522 0.0675 1.0562 1.1910
>> get(gca,'Units')
ans =
normalized
采纳的回答
Chad Greene
2016-5-16
The axis values when using geoshow are usually in the range of roughly -0.5 to 0.5. You can convert them to lat/lon coordinates with minvtran. For example, here are the four corners of a map in projected map coordinates, counterclockwise from the lower left:
ax = axis;
x = [ax(1) ax(2) ax(2) ax(1);
y = [ax(3) ax(3) ax(4) ax(4);
Now you can convert those x,y coordinates to lat,lon coordinate like this:
[lat,lon] = minvtran(x,y);
And those are the geo coordinates of the four corners of your map. You could go the other way with mfwdtran if you want to set axis limits to known geo coordinates.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Map Display 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!