鉴于以下输入:
如何计算位置"m"的经度/纬度?
Google提供了一个出色的REST界面,用于地址编码和地址反向地理编码.我的API密钥有效,如果我直接在浏览器地址中输入请求,它的效果很好.然而,以下jquery失败可怕,我没有理解为什么.希望你能在这里帮助我.
$.getJSON("http://maps.google.com/maps/geo?q="+ address+"&key="+apiKey+"&sensor=false&output=json",
function(data, textStatus){
console.log(data);
});
Run Code Online (Sandbox Code Playgroud)
Google针对此服务的REST界面文档:http://code.google.com/apis/maps/documentation/geocoding/index.html
有没有办法通过REST访问Bing Maps API以从地址获取地理编码信息?这对谷歌和雅虎来说是微不足道的; 我正在寻找的是来自雅虎的这样的功能:
http://developer.yahoo.com/maps/rest/V1/geocode.html
(具体来说,请参阅该页面上的示例请求URL,但也可以想象具有简单"location"参数的URL,而不是单独的street,city,state和zip参数.)
我已经找到了通过REST使用Bing API的其他部分的示例,但没有任何内容可以访问Maps API,或者特别是地理编码功能.
更新:以为我已经解决了,但我没有...请看下面.
我正在Mac OSX上安装GeoDjango.我遵循了Mac安装说明,一切顺利,我现在正在为PostGIS创建一个空间数据库模板.
但是,当我尝试加载PostGIS SQL例程时,我得到ERROR: could not access file "$libdir/postgis-1.5": No such file or directory:
postgres$ psql -d template_postgis -f $POSTGIS_SQL_PATH/postgis.sql
psql:/usr/local/pgsql/share/contrib/postgis-1.5/postgis.sql:59: ERROR: could not access file "$libdir/postgis-1.5": No such file or directory
<snip>
psql:/usr/local/pgsql/share/contrib/postgis-1.5/postgis.sql:7785: ERROR: type "geometry" does not exist
Run Code Online (Sandbox Code Playgroud)
出了什么问题,我该如何解决?
我从postgis IRC找到了这些说明,但我认为我正在运行正确版本的pg_config等:
postgres$ which pg_config
/usr/local/pgsql/bin//pg_config
postgres$ which psql
/usr/local/pgsql/bin//psql
postgres$ pg_config --pkglibdir
/usr/local/pgsql/lib
Run Code Online (Sandbox Code Playgroud)
我从KyngChaos安装了postgres及其PostGIS扩展.如果我查看/usr/local/pgsql/lib,那里有一个文件postgis-1.5.so,所以我不明白为什么它没有找到.
我有一个数据库,其中包含每个纬度和经度的商店列表.所以基于我输入的当前(lat,lng)位置,我想得到一些半径范围内的项目列表,如1 km,5 km等?
算法应该是什么?我需要算法本身的PHP代码.
我一直想学习GIS,我已经知道很多python,所以我一直在寻找在线免费资源来学习GIS.
那里的任何人都知道任何好的信息开始?教程?excercises?
谢谢!
有没有好的开源Geoparsers?有几种免费的解决方案(服务)可用(例如雅虎的制片人,EDINA的解锁文本),但它们似乎不是开源的.
理想情况下,解析器的目标应该是从任意文本中挖掘位置信息(而不是希望输入是一个位置,如Google的地理编码API或GeoName的搜索API,但这些建议也是受欢迎的.
提前致谢.
关于SO的相关问题:在文本中识别地理位置
更新:显然解锁文本是基于" 爱丁堡Geoparser ",它是开源(GPL),但目前没有公开downladable(源).
最近对地理名录的评估:http://www.scribd.com/doc/41603112/geoparser
这个看起来很酷,但实现假设地址是美国地址:http://openblockproject.org/docs/index.html
到目前为止找到的解析器列表:
- JGeocoder http://jgeocoder.sourceforge.net/parser.html
- Gisgraphy http://www.gisgraphy.com/
- Geotools http://www.geotools.org/(geotools
不似乎提供地理编码(http://osgeo-org.1560.n6.nabble.com/Review-or-Suggestion-for-Geocoding-Service-in-US-td4991055.html))
其他一些资源: - http://www.osgeo.org/
- http://lin-ear-th-inking.blogspot.co.uk/2010/03/open-source-geocoders.html
- http:// lin-ear-th-inking.blogspot.co.uk/2010/03/more-open-source-geocoders.html
- 反向地理标记
- Geohack
我认为自己是一个普通的PHP编码器,但我几乎无法编辑我在网站上需要的一些JavaScript代码.我在PHP变量中有一个地址,我希望在我的网页上显示一个简单的地图.我在互联网上做了一些研究,我找到了很多运算地理编码,将地址转换为Google API理解的位置,但我完全迷失了.有没有简单的代码可以嵌入我的变量?
我的问题是我有一个包含数千个城市的文件,我想将城市名称映射到(大都市统计区域和非美国城市的MSA等价物.在这里有类似问题的一堆帖子.我正在使用Python如果有帮助(例如,如果有一个类似于googlemaps python包工作的python包...)
将城市映射到邮政编码.这里有一个很好的答案,为美国的每个城市提供带有邮政编码的csv.但由于人口普查数据的发布将美国各县映射到MSA,而不是美国城市,我仍然需要找到一种方法从邮政编码映射到美国城市.
美国城市MSA数据库这基本上是我的问题(至少是美国部分),但海报或我的问题并没有得到满足.
谷歌的地理编码开发者网站谷歌地理编码开发者网站有一个有用的CSV,其中一些美国城市映射到谷歌地铁区域代码.问题是它不是MSA.可下载的旧Google csv 没有说明如何创建城域编码系统.该网站还提供了基于尼尔森DMA(指定市场区域)编码系统的新Google编码系统的链接.
我真的只是在寻找一个有城市,州(如果是美国),国家,地区代码的csv文件.区域代码基于良好的标准(美国人口普查局的MSA将是美国城市的理想选择,非美国城市的非美国国家人口普查分类也是理想的).这样的文件存在吗?或者,是否有一个python包连接到某个数据库,以便我在我的输入文件上运行我的脚本,它输出相应的区域代码?
非常感谢!
回答
对于任何有兴趣的人来说,这是一个非常好的文件,将美国城市映射到各个县:http://www.census.gov/statab/ccdb/ccdbcityplace.html
在没有任何JS知识的情况下,我被迫在网页上实现了一个地图(OSM via Leaflet).在此地图上,应该有一个人的实际地址标记.地址将作为字符串保存在数据库中.我可以看到地图,可以添加标记,但在那之后,我迷路了.
我已经测试了一些Leaflet-geocoding-plugins,但我必须承认,它们对我的实际编程体验来说不够简单.
另一个问题是关于同样的问题,但我不明白,如何使用L.Geosearch -plugin for Leaflet 从一个地址获取lon/lat .
任何人都可以给我一个查找地址的例子(通过OSMN或其他东西,而不是google/bing或其他api-key-needy提供商),将其转换为lon/lat并在地图上添加标记?
geocoding ×10
google-maps ×4
geolocation ×3
maps ×2
php ×2
python ×2
yahoo-maps ×2
bing-maps ×1
csv ×1
geo ×1
geodjango ×1
geography ×1
geospatial ×1
getjson ×1
javascript ×1
jquery ×1
leaflet ×1
open-source ×1
postgis ×1
postgresql ×1