标签: geonames

获取 Geonames 中 admin1 级别记录的人类可读缩写

对于美国,admin1代码对应于州的缩写,这使得进行城市、州的查找变得非常方便。

但是,对于像加拿大这样的国家/地区,admin1 代码是一个数字(例如,阿尔伯塔省为 01),无法再进行城市、州查找。我查看了加拿大的邮政编码文件,但它没有将邮政编码与该省的数字(我认为是 FIPS)代码相对应。因此,即使邮政编码文件显示艾伯塔省的 AB,它也不会显示同一记录的 01,因此无法关联这些记录。

雪上加霜的是,在邮政编码文件中,数据集实际上在 admin1 代码字段中列出了 AB,即使在另一个文件中输入为 01。很烦人。

我想知道是否有任何数据文件将一个国家/地区 admin1 记录的数字 FIPS 代码链接到其更易于理解的缩写。

geonames

5
推荐指数
0
解决办法
322
查看次数

如何获取 geonames API 密钥

我对基本问题表示歉意,我刚刚开始使用 Geonames。

Ruby geokit gem 包含以下使用 Geonames 的说明:

# To use this service either free or premium, you must register a key.
# See http://www.geonames.org
Geokit::Geocoders::GeonamesGeocoder.key = 'KEY'
Run Code Online (Sandbox Code Playgroud)

我已经在 Geonames 网站上注册,但我不知道如何为自己生成 API 密钥。我浏览了整个 geonames 网站,但找不到似乎可以执行此操作的页面。

无论如何,这一定是可能的。谁可以给我解释一下这个?

geokit geonames

5
推荐指数
1
解决办法
7000
查看次数

评估OpenStreetMap以进行国际路由

我一直在为北美和西欧/中欧的路线距离和旅行时间使用商业解决方案.我正在考虑将项目扩展到其他国家 - 也许是整个世界.各个商业提供商的预算和区域覆盖范围非常有限,可能使本地托管的OpenStreetMap成为唯一可行的选择.在有人建议在线解决方案之前,我的应用程序需要大量的密集路由计算 - 如果使用Web服务执行,这将花费很多或非常不礼貌(并且可能被禁止).计算结果将放回公共领域,因此重新编写OpenStreetMaps不是问题.

我的问题是如何评估OpenStreetMap数据库中各个国家/地区的路由数据覆盖率?这样的评估可以确定项目是否可行,以及适当的处理顺序(即,首先覆盖最佳的国家).

高端商业数据提供商通常可以提供统计描述,以及调查覆盖范围的区域描述.OpenStreetMap更加零散 - 一个区域通常包括一些道路,但不是所有道路.几米甚至10-20米的个别位置误差对我的应用来说不是问题(我正在看城市距离),但路线图连通性是.IE浏览器.道路矢量必须在交叉点逻辑上正确地相遇.

有没有人试图创建描述OpenStreetMap数据库数据覆盖范围的统计数据?

如果没有,你会怎么做?

我能想到的最好的方法是对地方(例如城市)进行随机抽样,然后尝试计算路线.必须假设主要道路将倾向于在次要道路之前添加.因此,两个遥远城市之间的路线将使用逻辑主要道路,而不是较小的道路(通常较长/较慢),因为主要道路缺失.

另一个问题是,实际上不可能在许多城镇之间开车.这通常是由于岛屿的存在(可以使用渡轮),但通常没有地面路线(例如努纳武特的定居点).那么,在(比方说)汤加和阿富汗之间进行比较时,如何使用这些统计数据.阿富汗的数据覆盖率可能非常低.汤加可能更好,但定居点遍布群岛.

关于我的申请的一些细节:所有起点和终点都是城镇和城市,其位置取自Geonames数据库.通常情况下,我正在查看一个国家中人口至少为1000的1000个最大城市.目前,路线一式两份计算为最快路线和最短路线.合理的道路速度根据广泛的道路类别而变化.估计的行程时间与道路距离一起计算.这些细节是对一致性的偏好 - 它们不是一成不变的.

gis routing geospatial openstreetmap geonames

4
推荐指数
2
解决办法
743
查看次数

地名获取纬度和经度

我一直在使用 Google Geocoding 进行编码,直到我发现 Geocoding API 只能与 Google 地图结合使用。这很不方便,因为我不需要显示地图。所以我改用 Geonames,这太棒了!

我获取地址的纬度和经度并将其添加到我的数据库中。

下面的代码是用于文本输入的 Jquery,用户在其中添加他们的城市/城镇,并会出现自动完成,假定他们正在输入的城市。它效果很好,但我还想在 2 个隐藏表单字段中添加其城市的纬度和经度以发送到数据库。

如何从 Geonames 检索这些坐标?

$(function() {
        function log( message ) {
            $( "<div/>" ).text( message ).prependTo( "#log" );
            $( "#log" ).attr( "scrollTop", 0 );
        }

        $( "#city" ).autocomplete({
            source: function( request, response ) {
                $.ajax({
                    url: "http://ws.geonames.org/searchJSON",
                    dataType: "jsonp",
                    data: {
                        featureClass: "P",
                        style: "full",
                        maxRows: 12,
                        name_startsWith: request.term
                    },
                    success: function( data ) {
                        response( $.map( data.geonames, function( item ) {
                            return {
                                label: item.name …
Run Code Online (Sandbox Code Playgroud)

php api jquery dictionary geonames

3
推荐指数
1
解决办法
3573
查看次数

如何在蟒蛇中获得附近城市(geonameid)?

考虑到距基地城市(地质)100公里的半径,我需要找到附近的城市.

我的脚本是在python中.是否有任何API可以找到它?

谢谢

python geolocation google-maps-api-3 geonames

3
推荐指数
1
解决办法
1万
查看次数

无法在select2中选择通过jsonp填充的项目

我正在尝试使用geonames数据填充select2元素.我定义了一个formatSelection方法,但是当选择一个项目时它不会触发.

这是HTML元素:

<input id="location" size="30" type="text">?
Run Code Online (Sandbox Code Playgroud)

使用格式函数选择2绑定:

function locationFormatResult(location) {
    var markup = "<table class='location-result'><tr>";

    if (location.countryCode !== undefined) {
        markup += "<td class='flag-image'><img src='http://www.geonames.org/flags/x/" + location.countryCode.toLowerCase() + ".gif' /></td>";
    }

    markup += "<td class='location-info'>";
    markup += "<div class='location-name'>" + location.name + ", " + location.adminName1 + ", " + location.countryName + "</div>";
    markup += "</td></tr></table>";

    return markup;
}

function locationFormatSelection(location) {
    return location.name + ", " + location.adminName1 + ", " + location.countryName;
}

$(function () {
    $('#location').select2({
        placeholder: …
Run Code Online (Sandbox Code Playgroud)

javascript jsonp geonames

3
推荐指数
1
解决办法
3380
查看次数

使用 Pandas python 从 geonames 导入文本文件

我从geonames下载了一个国家数据集,并使用这一行将数据集解析为列:

data = pd.read_csv("C:/Users/Documents/TR.txt", sep="\t", header = None)
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,这不能正确解析所有行。大多数行都被正确解析,大约 2K 没有被正确解析。我使用这一行能够看到它没有被正确解析:

data.to_csv("C:/Users/Documents/output.csv")
Run Code Online (Sandbox Code Playgroud)

然后我在excel中打开output.csv,看到有些行没有被解析。但是,当我在 excel 上打开原始 TR.txt 数据集并使用制表符分隔符时,所有行都正确显示为已解析。所以我在我的 python 代码中做错了什么,但我不知道是什么。我输出的数据集错了吗??谢谢

import export geonames python-3.x pandas

3
推荐指数
1
解决办法
1260
查看次数

如何将城市名称转换为时区?

抱歉,如果这是重复的,但我到处都查过了,似乎找不到任何可以解决我在 R 中的特定问题的内容。我有一个包含城市名称的列:

cities <-data.frame(c("Sydney", "Dusseldorf", "LidCombe", "Portland"))
colnames(cities)[1]<-"CityName"  
Run Code Online (Sandbox Code Playgroud)

理想情况下,我想附加一个列,其中包含每个城市或时区的纬度/经度。我尝试过在 R 中使用“ggmap”包,但我的请求超出了他们每天允许的最大请求数。我找到了“geonames”包,可以将纬度/经度转换为时区,所以如果我得到城市的纬度/经度,我应该能够从那里获取它。

编辑以解决潜在的重复问题:我想在不使用 ggmap 包的情况下执行此操作,因为我有太多行,并且它们每天有最大请求数。

r city latitude-longitude geocode geonames

3
推荐指数
1
解决办法
931
查看次数

geopy.exc.GeocoderAuthenticationFailure:HTTP 错误 401:未经授权

我正在尝试使用 GeoPy 和 Python 来获取某个位置的纬度和经度。我尝试实现这个问题,如下:

from geopy.geocoders import GeoNames
gn = GeoNames(username='[my username]')
gn.geocode("Cleveland, OH 44106")
Run Code Online (Sandbox Code Playgroud)

但我收到这个错误:

geopy.exc.GeocoderAuthenticationFailure:HTTP 错误 401:未经授权

我在http://www.geonames.org上注册,我也尝试查看这个问题,但我得到同样的错误,除非必须在http://www.geonames.orguser_agent的某个地方指定?

我究竟做错了什么?

python geopy geonames

3
推荐指数
1
解决办法
1521
查看次数

我如何让 Geonames api 与 https 一起使用?

我正在向Geonames Search api发送 ajax 请求。它在 http 协议上运行良好。

但是当我切换到 https(我自己的服务器和 api 请求)时,我的请求被浏览器阻止:Geonames https 证书似乎无效。

我错过了什么?

javascript ajax https geonames

2
推荐指数
1
解决办法
534
查看次数