火车采集器软件交流官方论坛

 找回密码
 加入会员
搜索
火车采集器V9版免费下载火车浏览器 - 可视采集,万能群发,全自动脚本工具
查看: 10683|回复: 11

MAPS(采集地图)

[复制链接]
发表于 2008-11-23 16:30:22 | 显示全部楼层 |阅读模式
搜狗推出卫星地图服务
据搜狐网报道,搜狗地图正式发布“搜狗卫星影像地图”服务。据了解,这是目前国内第一个应用了最新数据的卫星图片产品,首次发布21个城市的高清晰影像服务,其中涵盖全部七个奥运城市。  据搜狐网介绍,使用搜狗卫星影像地图无需下载,打开网页版搜狗地图即可自由切换。通过搜狗地图提供的卫星影像服务,使用者可以清楚地看到地面上的建筑、汽车、树木,甚至是道路上的标线,据知情人士介绍,“最高分辨率达到了0.5米/像素,已经是世界商用卫星图片服务的极限。”通过这项服务,网民甚至可以轻易地分辨出地上的小汽车是二厢车还是三厢车,更可以快速寻找到自己家的屋顶。在搜狗卫星影像服务中,用户依然能够进行地图搜索的相关操作,诸如放大缩小图像、对位置进行临时标注、测距、截图,还可以随时与传统地图切换,使用公交、自驾线路查询等基本功能轻松指引出行路线。

  根据我的使用观察,搜狗卫星地图的数据实际来自DigitalGlobe,在其地图上有DigitalGlobe的标志。DigitalGlobe是高分辨率影像领域的全球商业化领导者,同时也是Google Earth的卫星影像提供商,DigitalGlobal拥有3颗成像卫星:Worldview I、Worldview II 和QuickBird。这些卫星能够搜集高分辨率的商业地球影像,比其他所有的商业化卫星都能提供最大尺寸、最大在线存储量和最高分辨率的影像。GoogleEarth卫星地图的影像就是由DigitalGlobe的QuickBird等卫星拍摄,其图像清晰度非常高。这次搜狗推出的卫星地图,我估计也是通过购买DigitalGlobe的卫星图像来实现的。搜狗卫星地图和GoogleEarth所不同的是,搜狗直接在地图上标记了部分街道、桥梁、楼宇的名称,但目前没有发现用户交互式标记的功能,预计搜狗也不会开放这样的功能给大众。
  目前我浏览的过程中发现,搜狗卫星地图只支持中国主要大城市的地图,偏远地区(例如某些敏感的军事基地)不提供卫星地图,也不提供中国以外国家的卫星地图,属于一个自娱自乐的和谐版卫星地图。

[ 本帖最后由 faunus 于 2008-11-23 16:40 编辑 ]
 楼主| 发表于 2008-11-23 16:31:05 | 显示全部楼层

搜狗卫星影像地图

http://map.sogou.com/#c=11944000,4152000,4&city=%u5168%u56FD

目前支持21个城市

北京上海天津重庆成都大连福州
广州杭州济南昆明南京青岛三亚
深圳沈阳武汉西安香港郑州秦皇岛
发表于 2008-11-23 16:38:55 | 显示全部楼层
这个google 早就可以了
  不过在国内的确还是第一的
    说明搜狗也挺厉害了啊.
 楼主| 发表于 2008-11-23 16:40:57 | 显示全部楼层

在线互联网地图API资源

在线互联网地图我先前曾经介绍过不少,但是支持API(Application ProgrammingInterface,应用程序编程接口)的却不多,使用地图API,开发者可以非常方便的调用在线地图中的资源,实现各种各样的地图第三方应用,下面我就介绍几个开放了API的互联网地图。  Google Maps API : Google Maps API 基于Google Maps,能够使用 JavaScript 将 Google Maps 嵌入网页中。API提供了大量实用工具用以处理地图,并通过各种服务向地图添加内容,从而使用户能够在自己的网站上创建功能强大的地图应用程序。Google MapsAPI支持交通地图和卫星地图,有中文语言版本,其地标文件KML格式已经成为在线地图的标准格式,Google Earth和Google Maps都支持KML。目前在国际和国内应用都非常广泛,提到互联网地图的应用,基本上不能不提Google Maps API。
  Microsoft Virtual Earth API : 基于Virtual Earth的API,英文版,其例子和显示效果非常丰富,预览效果后可以查看相关源代码,可惜目前不支持中国地图的开发。
  Yahoo Maps API: 基于Yahoo Maps,和微软地图一样,也仅支持英文,不支持中国地图的开发。Yahoo地图提供基于Flash、Ajax和Map Image三种形式的开发接口,功能较为齐全,显示效果不错。
  MapABC API : 基于MapABC的国内地图供应商,Google地图的中国数据就是使用MapABC的,但其API接口和Google的并不相同,其API的开放性和灵活性不如Google地图API。
  MapBar API :  基于MapBar的国内地图供应商,其数据提供百度地图使用。
  我要地图API : 基于51地图,我要地图的一个特色是提供地图数据下载,可以实现本地桌面地图,不过其地图数据容量有数百兆之大。
 楼主| 发表于 2008-11-23 16:43:13 | 显示全部楼层

城市吧新增加了十三个城市的实景地图

昨天介绍Google的拍摄车在收集英国街道数据,其实我以前也介绍过,中国自己也有一个实景地图网站,叫“城市吧”,目前开通了全国24个城市的实景,包括北京、上海、广州、深圳、杭州、温州、济南、苏州、郑州、青岛、东莞、厦门、珠海、福州、佛山、大连、西安、海口、三亚、南昌、成都、南宁、桂林、天津。  与Google街景地图不同的是,城市吧不仅仅可以支持网友的实景标注,添加公共或者个人信息,如“金茂大厦”或“小偷出没” 等,还支持对标注的评论,增强了网友之间的交互性。
  城市吧对于实景的采集和Google类似,他们自己专门采购了几辆车,装上采集设备,就在中国的各个主要城市的街道上开始转悠,去采集360度的实景数据。中国人的隐私观念可能没有外国人那么强,城市吧的采集车四处采集了那么多数据,基本上没有人抗议自己的隐私被侵犯。

  做这样一个实景地图网站的确不是很容易,需要投入不少的资源,据城市吧的介绍,采集这些实景比卫星图像还要费时,大城市道路太多,小城市就好多了,比如上海就折腾了三个月的样子,当然做熟悉了,就会快一点,城市吧为了这个实景地图专门成立一个项目组,一拨人采集,一拨人图像处理,一拨人做地图开发,一拨人宣传。
  除了“实景地图”的位置搜索服务, 城市吧引入真正更多的概念,从街道外景延伸至商家内景,将城市中人们生活的各种元素加入,提供以“实景”为亮点的吃穿住行玩等生活服务信息,建设一个真实的网上城市。
 楼主| 发表于 2008-11-23 21:18:12 | 显示全部楼层

正式发布Google混搭编辑器(Google Mashup Editor)中文文档

Google混搭编辑器(Google Mashup Editor)是一套用来开发混搭应用的Web开发工具,它是一套函数库,也是一个IDE。不管你的应用本身多复杂,用了多高深的技术,值得庆幸的的是我们有Rss/ATOM,利用他们我们可以举重若轻的把不同公司,不同利益集团的产品粘合在一起,创造新的视角,新的应用模式。这就是Google混搭编辑器(Google Mashup Editor)的意义。

为了便于国内的开发者使用Google混搭编辑器(Google Mashup Editor),我在学习过程中制作了这个中文文档,完全翻译了产品概述入门指南两个部分,因为这两个部分可以让你充分了解Google混搭编辑器(Google Mashup Editor)的思想和用法。标签参考文档、操作数据、过滤数据、事件处理以及JavaScript API,留待日后慢慢翻译完善。

之前,我还翻译了Google Maps API的文档,地址在Google Maps API中文同步文档。欢迎有兴趣的朋友查看。

今后的翻译计划是            Google AJAX Search API文档和            Google AJAX Feed API

来自
http://www.codechina.org/

[ 本帖最后由 faunus 于 2008-11-23 21:21 编辑 ]
 楼主| 发表于 2008-11-23 21:20:03 | 显示全部楼层

Google混搭编辑器(Google Mashup Editor) - 混搭编程框架和开发工具

Google混搭编辑器(Google Mashup Editor)是一个AJAX的编程框架,以及一组开发工具集,这组工具集令开发者可以简单快速的开发出基于Google服务(例如Google MapsGoogle Base)的简单Web应用和混搭产品。    Google混搭编辑器是一款非常好的工具,用它你可以从Rss源获取信息,而且还可以让你的用户浏览并操作这些信息。        用Google混搭编辑器创建程序非常简单,而且使用的都是您熟悉的技术。使用我们公布的XML标记,JavaScript,CSS和HTML,你可以省时省力的构建你的应用程序。对于高端开发者,Google混搭编辑器允许你通过深入我们的JavaScript API获得更好的表现力。
     
      Google混搭编辑器功能特性  
  •        可重用模块
                    模块和界面组件可以跟数据绑定,并预先内建了事件处理和数据操作功能。基于面向服务的结构,Google混搭编辑器可以让用户访问许多Google服务(例如,地图搜索),并把它们集成在程序里。      
  •      混搭能力
                对,这是一个新概念。通过创建一个事件处理模块,你可以在一个模块触发另一个模块处理的事件,这样我们就简化了混搭的创建。            
  •      通用数据模型
                 Google混搭编辑器采用了与Google数据API完全相同的数据模型。你的程序中所有创建的,操作的,显示的用户数据,都可以用Google数据API请求来展现和访问。
  •      基于AJAX的控件
        Google混搭编辑器中所有的界面控件都是基于AJAX的。也就是说,你不用自己来创建AJAX控件,我们为你的程序提供了大量的控件。            
  •        开发工具
            
          
    •                     Google混搭编辑器提供了一个基于Web的IDE(集成开发环境),方便用户快速创建和测试他们的应用想法。                       
    •         我们提供的沙箱环境通过建立在信任环境内的快速部署和运行程序的机制,帮助你进行迭代开发。           
    •         Google混搭编辑器的代码管理使用Google Code的开源代码项目托管服务,这样您的代码就可以在版本控制系统下存储了。
       
  •        应用程序托管
                    您用Google混搭编辑器创建好应用程序。我们来进行最困难的部分,我们把你的程序托管在可扩展的,安全的环境下。你甚至可以把你的程序放入Google Gadget下,这样它就可以在iGoogle下工作了。   
 楼主| 发表于 2008-11-23 21:24:10 | 显示全部楼层

有趣的Mashup

最近对mashup十分感兴趣,没事就去看各种mashup,自己也动手做了一些,十分有趣。

国内似乎没有mashup提供商,想想也难怪,一方面这东西还算是新生事物,二是技术含量高,三是对资源和服务要求很高,还有一点是提供商至少都要有拥有一些应用广泛的web服务,比如地图、搜索等。主流的还是那几个大公司提供的,比如yahoo的pipes,ms的popfly和google的mashup editor, 每一个都玩玩,各有各的特色,而且各大公司把自己最有特色的技术都用在这上面,足见重视程度。

个人比较喜欢的还是yahoopipes,yahoo不愧是老牌的internet大牛,最早推出mashup工具,ajax用的出神入化,module和debug方式都十分有特色,最近新推出的两个module(fetch web data和private textinput)很好很强大,更主要的还是应用丰富,随便找一些pipe看source,都能学到很多东西,着实是开阔眼界。使用pipes基本不用编程,除了regex等模块需要了解一些编程知识,其余主要是靠发挥想象力拖动和连接module,很像workflowdesigner的开发方式,当然如果有编程基础做起来的pipes会更好。

ms的popfly基于silverlight开发,和ms的其他产品一样,很炫,很动感,很容易上手,比较有特色的是不仅可以通过拖拖拽拽的方式快速开发应用,还可以方便的切换到代码方式,这一点继承了ms的开发工具(如VisualStudio)的一贯特点,对开发人员十分友好。不过作为专业性比较强的应用工具,popfly的“炫”似乎有点过头,以至于付出的代价是性能受到影响(使用时间长了,系统莫名其妙的慢,甚至频繁出错,看来处于beta阶段的silverlight还有很大的上升空间),popfly的另一个不足是应用相对较少,很多应用比较另类或者曲高和寡。编程方面,popfly使用javascript,用户可以开发自己的block,不过一般切换到advancesetting看到满眼又长又臭的javascript代码,总是让人“玩”mashup的兴趣打折。其实仔细看看代码,它的编程接口和开发模型还是比较清晰的,好处是很灵活,扩展方便。

和popfly反差非常大的是google mashupeditor,很朴素,它自己说自己是IDE,不过和我们通常印象中的集成开发环境相比(如VS,Eclipse),它自己的名字更恰当,就是一个在线的editor。不过确实个很有趣的editor,最强大的还要算是google提供的user control(我这么叫),比如datacontrol,listcontrol等等,做出来的东西很ajax,很google,甚至预览出来的UI与google一贯风格(如gmail,googledoc等)相当一致, 更有google特色的是它提供的google map control等。编程方式基本上就是另一种markuplanguage,这是一种主流的、先进的编程方式,如果开发过flex,xul,wpf,甚至xsl,对这种编程方式应该不陌生,其好处不必赘述,如果google能把这种编程方式变得更visual一点,更flex和wpf一点,就更好了。

还有它们的输出方式,大致雷同,比如rss,json,或wedget等,不赘述。

上述文字在艺术界叫印象派,只是记录了近来使用他们时的一些个人体会,可能不准确。

在把玩mashup的过程中,不经意间会发现很多有趣的资源,比如下面这两个:
programmableweb.com
feedity.com

有时间还要把学习和收藏到的信息和资源系统地整理一下。
 楼主| 发表于 2008-12-4 08:42:16 | 显示全部楼层

Google Maps的反向地理编码来了

Made In Zeal 转载请保留原始链接:http://www.zeali.net/entry/593
                                标签 ( Tags ): geocoding , google , api
                                半年前在说 Google Maps API 的反向地理编码(Reverse Geocoding)很遗憾的不提供中国地区的查询,现在终于等到70多个国家都开放的一天了。虽然目前中国地图地址解析器还只支持市/县/区级别的地址,但跟之前只能定位到国家级别比起来已经是能够做一些比较实际的应用了。

                                                                具体的实现还是使用 GClientGeocoder 接口的 getLocations(address, callback) 方法,在第一个参数传递坐标信息,callback中处理返回数据。
  
view plainprint?

  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  
  •   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  • <html
    xmlns="http://www.w3.org/1999/xhtml"
    lang="zh">
  • <head>
  • <meta
    http-equiv="Content-Type"
    content="text/html; charset=UTF-8"
    />
  • <script
    language="JavaScript"
  • src="http://www.google.com/jsapi?key=your api key here"
  • type="text/javascript"></script>
  • <script
    type="text/javascript">
  • //<![CDATA[
  • google.load("maps", "2.x",{"language" : "zh_CN"});
  • var GoogleGeocoder = null;
  • google.setOnLoadCallback(function(){
  •   if (google.maps.BrowserIsCompatible()) {
  •     var map = new google.maps.Map2(document.getElementById("GmApBrIdD"));
  •     map.addControl(new google.maps.LargeMapControl());
  •     map.setCenter(new google.maps.LatLng(36.94989178681327,106.083984375), 4);

  •     GoogleGeocoder = new GClientGeocoder();
  •     var onGMapClicked = function(overlay,latlng){
  •       if (latlng) {
  •         GoogleGeocoder.getLocations(latlng, function(addresses) {
  •           if(addresses.Status.code != 200) {
  •             alert("failed to find an address for " + latlng.toUrlValue());
  •           }
  •           else {
  •             var myHtml = '';
  •             function showAllItems(t,prefix){
  •               for(var k in t){
  •                 var curprefix = prefix.length > 0 ? prefix+'.'+k : k;
  •                 if(typeof(t[k]) != 'object'){
  •                   myHtml += '<br />'+curprefix+' = '+t[k];
  •                 }
  •                 else{
  •                   showAllItems(t[k],curprefix);
  •                 }
  •               }
  •             }
  •             showAllItems(addresses,'addresses');
  •             map.openInfoWindow(latlng, '<div style="font-size:12px;">'+myHtml+'</div>');
  •           }
  •         });
  •       }
  •     };
  •     google.maps.Event.addListener(map, "click", onGMapClicked);
  •   }
  • });

  • //]]>
  • </script>
  • <title>reverse geocoding example - zeali.net</title>
  • </head>
  • <body
    onunload="google.maps.Unload()">
  • <div
  • id="GmApBrIdD"
  • style="width: 800px; height: 600px;margin: 0 auto 0 auto; border: 1px solid #ccc;">
  • </div>
  • </body></html>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="zh"><head><meta http-equiv="Content-Type" c /><script language="JavaScript"  src="http://www.google.com/jsapi?key=your api key here"  type="text/javascript"></script><script type="text/javascript">//<![CDATA[google.load("maps", "2.x",{"language" : "zh_CN"});var GoogleGeocoder = null;google.setOnLoadCallback(function(){  if (google.maps.BrowserIsCompatible()) {    var map = new google.maps.Map2(document.getElementById("GmApBrIdD"));    map.addControl(new google.maps.LargeMapControl());    map.setCenter(new google.maps.LatLng(36.94989178681327,106.083984375), 4);    GoogleGeocoder = new GClientGeocoder();    var onGMapClicked = function(overlay,latlng){      if (latlng) {        GoogleGeocoder.getLocations(latlng, function(addresses) {          if(addresses.Status.code != 200) {            alert("failed to find an address for " + latlng.toUrlValue());          }          else {            var myHtml = '';            function showAllItems(t,prefix){              for(var k in t){                var curprefix = prefix.length > 0 ? prefix+'.'+k : k;                if(typeof(t[k]) != 'object'){                  myHtml += '<br />'+curprefix+' = '+t[k];                }                else{                  showAllItems(t[k],curprefix);                }              }            }            showAllItems(addresses,'addresses');            map.openInfoWindow(latlng, '<div style="font-size:12px;">'+myHtml+'</div>');          }        });      }    };    google.maps.Event.addListener(map, "click", onGMapClicked);  }});//]]></script><title>reverse geocoding example - zeali.net</title></head><body ><div  id="GmApBrIdD"  style="width: 800px; height: 600px;margin: 0 auto 0 auto; border: 1px solid #ccc;"></div></body></html>     目前 2.s 还貌似还没有提供该功能,需要用 2.x 引用最新版本的 API 。
  如果你设置了自己的 Google 账户的全局界面语言为不是简体中文的其他语言的话,在 google.load 中传递参数 {"language": "zh_CN"} 可以让地图上的语言显示为中文,但当使用 GClientGeocoder getLocations来获取地址信息的时候,返回的内容将不是中文而是拼音。这个问题挺烦人,目前还不知道如何解决。
  另外点击台湾省的时候,返回的地址信息没有国家只有地区信息,不知道是不是又会给 Google 点麻烦。
 楼主| 发表于 2008-12-4 08:46:10 | 显示全部楼层

+ 0 - 0 | §Reverse Geocoding for Google Maps API

Reverse Geocoding ,也就是反向地理编码(逆地理编码),可以根据地图上某一点的经纬度值来查询该点附近的地理信息。比如要实现捕获用户鼠标事件判断用户点的是哪国哪省哪市哪条街道,就需要有相应的 reverse geocoding 服务支撑。
  在当前版本的 Google Maps API 中对这项功能提供了有限支持。对于开放了 Geocoding (GClientGeocoder)Driving Directions (GDirections) 接口的国家和地区,Nico Goeminne 写了个 GReverseGeocoder 类来完成反向地理编码解析(Google Pages 貌似这几天被 GFW 掉了,访问不到 Nico Goeminne 站点的朋友可以看我本地的镜像链接)。可惜的是目前谷歌中国的ditu.google.com还没有提供GDirections接口,不知道后续的版本会不会放出。下面是 Nico Goeminne 列出的 GReverseGeocoder 当前的国家支持情况(x=支持, n=不支持, p=理论上支持但未经过测试):
  
CountryGClientGeocoderGDirectionsGReverseGeocoder
Austriaxxp
Australiaxxp
Belgiumxxx
Brazilxxx
Canadaxxp
The Czech Republicxxp
Denmarkxxp
Finlandxxp
Francexxx
Germanyxxx
Hong Kongxnn
Hungaryxxp
Indiaxnn
Irelandxxp
Italyxxx
Japanxnn
Luxembourgxxx
The Netherlandsxxx
New Zealandxxx
Norwayxxp
Polandxxp
Portugalxxp
Singaporexxp
Spainxxp
Swedenxxp
Switzerlandxxx
Taiwanxnn
Thailandxxp
the United Kingdomxxx
the United Statesxxx
    实际上,在 Google Maps API 官方文档里面 GClientGeocoder 接口的 getLocations(address, callback) 方法里面虽然没有明确说明,却可以传递用逗号或空格分隔的经纬度值进去作为address参数,也能达到反向地理编码解析的目地。只是目前这样调用返回的Placemark对象精度只能到国家级别,并没有更进一步的所在地信息,还没有太多的实际价值。
  一些非 Google Maps 提供的 geocoding / reverse geocoding 服务链接: http://groups.google.com/group/Google-Maps-API/web/resources-non-google-geocoders ,基本上可查询范围都是欧美国家,有偿服务居多。
  中国区域的 reverse geocoding 服务方面, MapABC搜索API中倒是有 reverseGeoCoding(msearchpointpara) 接口方法,美中不足的是其flash版本的地图跨浏览器兼容性又不是太好还有滚动广告条,文档的组织也够凌乱,所使用的经纬度坐标又不是标准的数字形式,极大的影响了使用体验;51ditu 的位置描述接口则直接作为收费接口有偿提供。看来想使用免费又称心的 reverse geocoding 还得耐心等谷歌地图开放相应的功能了。
  附: 中国地区大中城市经纬度参照表

标签 ( Tags ) : google,api,geocoding
您需要登录后才可以回帖 登录 | 加入会员

本版积分规则

QQ|手机版|Archiver|火车采集器官方站 ( 皖ICP备06000549 )

GMT+8, 2024-11-24 16:37

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表