该功能get_google_map.m使用谷歌地图API(https://developers.google.com/maps/documentation/static-maps/)来检索图像的中心和所需的缩放级别(默认为15)的谷歌给出的坐标的谷歌地图的图像。的图像被返回作为栅格阵列和颜色映射。
此外,X的估计值和Y坐标向量在UTM坐标形式返回,方便的从内部MATLAB地图上的其它信息,方便绘图。
所需的高度和图像的宽度(以像素为单位)可以被指定为以及“地图类型”(路线图,移动,卫星,地形,混合,绘图者-路线图,绘图者杂交中的一个)和至多50谷歌地图标记。对于每个标记物之一可以指定的位置,大小,颜色以及可选的标签。
默认值:放大15,地图类型= '卫星',高度= 640,宽度= 640
人们可以利用谷歌地图API没有每天查询数量有限的关键。为了利用谷歌地图API高达每天25,000个查询,必须得到谷歌地图API密钥,可以免费从谷歌。该密钥可以在这里获得:https://developers.google.com/maps/documentation/static-maps/(点击“一键搞定”)
注意,关键的要求放置限制此功能的便携性,为关键,因此该功能必须局限于一个域名,因此(通常)的物理位置。无 - 无它仍然是一个地图上绘制快速的数据非常方便的功能。
下面的代码产生附截图:
[XX YY中号Mcolor] = get_google_map(43.06374,-70.703993);
于imagesc(XX,YY,M);遮光平;颜色表(Mcolor)
xlabel( '东进UTM')
ylabel( '的北进UTM')
标题(“入口朴次茅斯港”)
已知的问题:
1)X和Y的坐标估计向量是仅仅是一个猜测的算法,用于从图像大小确定这些值和缩放水平。该算法通过试验和误差来确定(作为API没有提供方法来查询的图像的空间范围),因此,可能会产生一些位置差的结果。在朴次茅斯港,NH附近所产生的图像是地理参考至约+/-3米。
2)由于在Mac平台上MATLAB的渲染性能差,我的经验是,地图绘制在上面产生白光的差距,其原因和解决方法是未知的例子。
瓦尔施密特(2020年)。get_google_map(//www.tianjin-qmedu.com/matlabcentral/fileexchange/24113-get_google_map),MATLAB中央文件交换。检索。
1.4.0.0 | 采用了马丁的建议(见注释)使用webread()调用,而不是一个临时文件。还重组了码一下,以便更容易理解。 |
|
1.3.0.0 | 通过谷歌地图API密钥从plot_google_map处理()。更新使用新的谷歌地图API。使用用于校准的图像尺寸的新方法(需要的信号处理工具箱)。 |
|
1.2.0.0 | 没有功能性的改变。 |
|
1.1.0.0 | 我已经采取了“我们”所提出的建议,从代码,以便与于imagesc产生的图像绘制正确地移除flipud,使选项不区分大小写。 |
朱雷(查看资料)
在Matlab 2017b不工作
使用readContentFromWebService误差(线42)
太多的输出参数。
误差在webread(线125)
[varargout {1:nargout}] = readContentFromWebService(连接,选项);
误差在get_google_map(线182)
[M Mcolor] = webread(URL);
科斯塔Danias(查看资料)
什么是varargin?
Pablitovich(查看资料)
[R工作室创建图像的一个更好的渲染。但是,如果将图像保存为.jpg或.png?
山宁宝(查看资料)
史蒂芬·谢林(查看资料)
朱利亚诺兰杰拉(查看资料)
良好的工作!
我建议使用,以获得一个井字形到的地图添加其他地理空间对象(例如点等)作如下修改:
1 \在get_google_map.m提议的变更:设置北距方向,因为它应该是
%YY = 0:DX:W;%## <---原始
YY = W:-dx:0; ##%<---改性
2. \ Run中的新功能:
迟= 40.9678435;
孤= 14.0168085;
[XX,YY,M Mcolor] = get_google_map(晚,独行, '缩放',18);
3. \地块使用图像功能以及,加入geopoints(北 - >南及西 - >东)的主图
人物,CLF
图像(XX,YY,M);
遮光平;颜色表(Mcolor)
xlabel( '东进UTM')
ylabel( '的北进UTM')
AX = GCA;
ax.YDir = '正常';
Xpoints = XX(地板(端/ 4):地板(端/ 4 * 3));
ypoints中= YY(地板(端/ 4):地板(端/ 4 * 3));
坚持,稍等
散射(Xpoints,ypoints中,如图6所示, '填充');
拖延
标题(“现在点和其他地理空间对象可以正确绘制!”)
临渭区胡(查看资料)
它工作正常。我对参数“M”短的问题,如果我打开一个卫星地图。返回矩阵M与从1-255的范围内的数字。你有什么想法什么呢,这些数字是什么意思?
相应地,“Mcolor”有256个色阶。我不是很确定,如果在M对应于“Mcolor”色彩层次的数字。
韦伯(查看资料)
Subhraneil达斯(查看资料)
每当我尝试运行此功能,它说
500最大递归达到上限。使用集合(0, 'RecursionLimit',N)来改变极限。要知道,超越您的
可用堆栈空间会崩溃MATLAB和/或您的计算机。
错误get_google_map
我试图改变递归的限制,但它没有工作或者说编程的,坠毁对于n> = 799。
它真急,我得到这个代码的工作。有人可以请给一个解决方案吗?
朱襄阳(查看资料)
如何删除在地图上的标签?如道路的名称...
托德·麦基(查看资料)
运行R2016a并收到此错误:
使用readContentFromWebService误差(线42)
太多的输出参数。
误差在webread(线122)
[varargout {1:nargout}] = readContentFromWebService(连接,选项);
误差在get_google_map(线182)
[M Mcolor] = webread(URL);
bigseat(查看资料)
SOHAM班纳吉(查看资料)
使用webread误差(线112)
的“maps.googleapis.com”的IP地址无法确定。
怎么在这种情况下怎么办?
普什卡勒美(查看资料)
马丁(查看资料)
谢谢,这是一个伟大的功能!
我能够通过调整它不是写图像文件,但使用webread()函数直接加载图像以提高性能 - 也许你要考虑这一点。- 马丁
安多尼梅迪纳(查看资料)
你好!感谢我的同事切扎尔Stanciu我们(主要是他)解决了这个问题。至于句柄数字是现在的对象,它需要的axHandle改为双 - >“双(axHandle)”每次被调用的脚本。问候
安多尼梅迪纳(查看资料)
你好,如果与Matlab的2014B使用,由于图形把手变化脚本给错误。有任何您的经验?谢谢
brijendra库马尔(查看资料)
我收到以下错误........
请帮我解决这个问题..................
################
???使用==> imread在328错误
无法确定的文件格式。
错误的==>在163 get_google_map
[M Mcolor] = imread(文件名);
误差在==>未命名3
[XX YY中号Mcolor] = get_google_map(43.06374,-70.703993);
我们(查看资料)
一旦用户设置环境
- 拿到钥匙
- 获取DEG2UTM
它工作得很好大部分的道具/ VAL组合
两个念头
在功能上没有必要FLIPUD(M)...否则,用户必须将其翻转回来
于imagesc(XX,YY,flipud(M));
颜色表(Mcolor);
轴图像;
这似乎更快/更好的方式来显示相比,所提出的SURF地图(...)
道具应该是不区分大小写?
我们