【发布时间】:2014-02-25 07:59:38
【问题描述】:
这是我从 Google 地图的地理编码器响应中获取纬度和经度值的方式,如下所示:
latlong = Geocoder.geocode(city.find_element_by_xpath(statecol + '[' + str(statecolctr) + ']' + cities1 + str(statesctr) + ']' + cities2 + '[' + str(citiesctr) + ']' + cityname).text)
但现在我希望绕过对我已经从以前获取的纬度和经度存储在 SQLite3 中的位置进行地理编码器调用。我想模仿来自 Google Geocode 的构造,以便以下代码行执行完全相同的操作,无论 latlong 来自 Google,还是我从我在之前的 Geocoder 调用中提取的两个经纬度字符串表示构造它。
floatlat = float(latlong[0].coordinates[0])
floatlng = float(latlong[0].coordinates[1])
我必须以(存储在 SQLite3 中)开头的字符串示例是:
latlong = (u'32.6098566', u'-85.4807825')
但从 Google 来看,它们看起来像:
latlong = Birmingham, AL, USA
latlong[0].coordinates[0] = 33.5206608, latlong[0].coordinates[1] = -86.80249
您能帮我将上面的第一个 latlong 重构为第二个吗,所以生成的 lat 和 long 值如第二个示例所示,就像 latlong 是 Google 地理编码响应的产物一样? (只是数字,我对城市名称不感兴趣)
感谢大家的热心帮助!
【问题讨论】:
-
您的意思是您希望您的
latlong具有coordinates属性吗?还是您的意思是您希望坐标 值 匹配,即当前您的latlong[0]不等于 Google 的latlong[0].coordinates[0],但您希望它们相等? -
没关系,我重新阅读并意识到您希望您的
latlong项目具有coordinates属性。请参阅下面的答案。
标签: python collections sqlite elements google-geocoder