Google影像下载自动拼接校正

摘要:下载Google地图数据,出现远程服务器返回错误: (403) 已禁止,通过修改HttpWebRequest参数解决问题

问题描述:Google地图网站有两个

国内:http://ditu.google.cn国外http://maps.google.com/

两个地图网站,国内的地图由于国家测绘局的规定已经被和协像国内大多数网站一样在地图底数据数据上经过非线性变换导至地图便移

可以参见:http://blog.sina.com.cn/s/blog_5f6511600100cupr.html

还有人通过抓虫程序下载了大量的便移校正参数,来对地图进行校正。通过国内网站下载的影像数据通过解算的地图坐标进行校正后,会有一定的便移,即国家测绘局的非线性便移系数。

如果下载国外http://maps.google.com/网站的数据就不会出线这个问题,采用Google影像下载工具下载国内网站地图数据一直好用

clip_image002

今天将地图下载参数改成国外网站发现在下载数据的时候在

WebResponse pWeb = request.GetResponse();报错:远程服务器返回错误: (403) 已禁止,将下载地址:

http://khm0.google.com/kh/v=84&x=13952&y=5846&z=14&s=G

输入到浏览器可以查看到该图,说明不是由于下载过快导致封Ip而引起的,浏览器也是程序,说明是可以通过修改参数来解决这个问题。

使用http分析工具(HttpAnalyzerStdV5)进行监控两个HTTP请然后比较参数发现浏览器的仿问头文件中多

request.Accept = @"application/x-shockwave-flash, image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/x-ms-application, application/x-ms-xbap, application/vnd.ms-xpsdocument, application/xaml+xml, application/vnd.ms-excel, application/msword, */*";

request.UserAgent = @"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)";

这两个参数,在程序中写入这两个参数,运行通过并下载了地图数据

clip_image004

该数据直接采用Google数据进行编码可以跟其它带有准确坐标数据进行无缝叠加对接。利用拼接功能将这些瓦片数据进行拼接

clip_image006

通过程序输出的自动校正参数

clip_image008

clip_image010

将影像数据加入到地图当中,通过GeoReferencing工具对影像进行校正clip_image012

最后利用工具不需要任何人工采点校正就可达到地图叠加匹配的效果

clip_image014

可以满足大多数用户需求

远程服务器返回错误: (403) 已禁止

转载于:https://www.cnblogs.com/giswl/archive/2011/04/25/2027090.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值