- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<分区>
在使用 geopy 进行地理编码时,某些地址出现错误(使用提名)。我真的不明白为什么一个地址会出错而另一个地址不会出错的模式,例如只需更改门牌号即可产生不同。
当我通过 urllib3 发出错误消息中提到的 API 请求时,它起作用了,所以我认为错误是由 geopy 引起的,但我不确定。
from geopy.geocoders import Nominatim
geolocator = Nominatim(user_agent="my-test-app")
geolocator.geocode({'country': 'DE', 'city': 'Erlangen', 'postalcode': '91052',
'street': 'Nürnberger Straße 6'}) # working
>>> Location(Nürnberger Straße, Sebaldussiedlung, Erlangen, Bayern, 91052, Deutschland, (49.5772384, 11.015895, 0.0))
geolocator.geocode({'country': 'DE', 'city': 'Erlangen', 'postalcode': '91052',
'street': 'Nürnberger Straße 7'}) # error
---------------------------------------------------------------------------
timeout Traceback (most recent call last)
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\site-packages\urllib3\connectionpool.py in _make_request(self, conn, method, url, timeout, chunked, **httplib_request_kw)
425 # Otherwise it looks like a bug in the code.
--> 426 six.raise_from(e, None)
427 except (SocketTimeout, BaseSSLError, SocketError) as e:
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\site-packages\urllib3\packages\six.py in raise_from(value, from_value)
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\site-packages\urllib3\connectionpool.py in _make_request(self, conn, method, url, timeout, chunked, **httplib_request_kw)
420 try:
--> 421 httplib_response = conn.getresponse()
422 except BaseException as e:
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\http\client.py in getresponse(self)
1353 try:
-> 1354 response.begin()
1355 except ConnectionError:
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\http\client.py in begin(self)
305 while True:
--> 306 version, status, reason = self._read_status()
307 if status != CONTINUE:
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\http\client.py in _read_status(self)
266 def _read_status(self):
--> 267 line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
268 if len(line) > _MAXLINE:
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\socket.py in readinto(self, b)
588 try:
--> 589 return self._sock.recv_into(b)
590 except timeout:
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\ssl.py in recv_into(self, buffer, nbytes, flags)
1070 self.__class__)
-> 1071 return self.read(nbytes, buffer)
1072 else:
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\ssl.py in read(self, len, buffer)
928 if buffer is not None:
--> 929 return self._sslobj.read(len, buffer)
930 else:
timeout: The read operation timed out
During handling of the above exception, another exception occurred:
ReadTimeoutError Traceback (most recent call last)
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\site-packages\urllib3\connectionpool.py in urlopen(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, **response_kw)
676 headers=headers,
--> 677 chunked=chunked,
678 )
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\site-packages\urllib3\connectionpool.py in _make_request(self, conn, method, url, timeout, chunked, **httplib_request_kw)
427 except (SocketTimeout, BaseSSLError, SocketError) as e:
--> 428 self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
429 raise
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\site-packages\urllib3\connectionpool.py in _raise_timeout(self, err, url, timeout_value)
335 raise ReadTimeoutError(
--> 336 self, url, "Read timed out. (read timeout=%s)" % timeout_value
337 )
ReadTimeoutError: HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)
During handling of the above exception, another exception occurred:
MaxRetryError Traceback (most recent call last)
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\site-packages\requests\adapters.py in send(self, request, stream, timeout, verify, cert, proxies)
448 retries=self.max_retries,
--> 449 timeout=timeout
450 )
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\site-packages\urllib3\connectionpool.py in urlopen(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, **response_kw)
766 body_pos=body_pos,
--> 767 **response_kw
768 )
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\site-packages\urllib3\connectionpool.py in urlopen(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, **response_kw)
766 body_pos=body_pos,
--> 767 **response_kw
768 )
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\site-packages\urllib3\connectionpool.py in urlopen(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, **response_kw)
726 retries = retries.increment(
--> 727 method, url, error=e, _pool=self, _stacktrace=sys.exc_info()[2]
728 )
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\site-packages\urllib3\util\retry.py in increment(self, method, url, response, error, _pool, _stacktrace)
445 if new_retry.is_exhausted():
--> 446 raise MaxRetryError(_pool, url, error or ResponseError(cause))
447
MaxRetryError: HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Max retries exceeded with url: /search?country=DE&city=Erlangen&postalcode=91052&street=N%C3%BCrnberger+Stra%C3%9Fe+7&format=json&limit=1 (Caused by ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)"))
During handling of the above exception, another exception occurred:
ConnectionError Traceback (most recent call last)
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\site-packages\geopy\adapters.py in _request(self, url, timeout, headers)
382 try:
--> 383 resp = self.session.get(url, timeout=timeout, headers=headers)
384 except Exception as error:
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\site-packages\requests\sessions.py in get(self, url, **kwargs)
554 kwargs.setdefault('allow_redirects', True)
--> 555 return self.request('GET', url, **kwargs)
556
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\site-packages\requests\sessions.py in request(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)
541 send_kwargs.update(settings)
--> 542 resp = self.send(prep, **send_kwargs)
543
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\site-packages\requests\sessions.py in send(self, request, **kwargs)
654 # Send the request
--> 655 r = adapter.send(request, **kwargs)
656
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\site-packages\requests\adapters.py in send(self, request, stream, timeout, verify, cert, proxies)
515
--> 516 raise ConnectionError(e, request=request)
517
ConnectionError: HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Max retries exceeded with url: /search?country=DE&city=Erlangen&postalcode=91052&street=N%C3%BCrnberger+Stra%C3%9Fe+7&format=json&limit=1 (Caused by ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)"))
During handling of the above exception, another exception occurred:
GeocoderUnavailable Traceback (most recent call last)
<ipython-input-4-aa66519ee9b9> in <module>()
----> 1 geolocator.geocode({'country': 'DE', 'city': 'Erlangen', 'postalcode': '91052', 'street': 'Nürnberger Straße 7'})
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\site-packages\geopy\geocoders\nominatim.py in geocode(self, query, exactly_one, timeout, limit, addressdetails, language, geometry, extratags, country_codes, viewbox, bounded, featuretype, namedetails)
292 logger.debug("%s.geocode: %s", self.__class__.__name__, url)
293 callback = partial(self._parse_json, exactly_one=exactly_one)
--> 294 return self._call_geocoder(url, callback, timeout=timeout)
295
296 def reverse(
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\site-packages\geopy\geocoders\base.py in _call_geocoder(self, url, callback, timeout, is_json, headers)
358 try:
359 if is_json:
--> 360 result = self.adapter.get_json(url, timeout=timeout, headers=req_headers)
361 else:
362 result = self.adapter.get_text(url, timeout=timeout, headers=req_headers)
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\site-packages\geopy\adapters.py in get_json(self, url, timeout, headers)
371
372 def get_json(self, url, *, timeout, headers):
--> 373 resp = self._request(url, timeout=timeout, headers=headers)
374 try:
375 return resp.json()
C:\Users\USERNAME\Anaconda3\envs\crm_templates\lib\site-packages\geopy\adapters.py in _request(self, url, timeout, headers)
393 raise GeocoderServiceError(message)
394 else:
--> 395 raise GeocoderUnavailable(message)
396 elif isinstance(error, requests.Timeout):
397 raise GeocoderTimedOut("Service timed out")
GeocoderUnavailable: HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Max retries exceeded with url: /search?country=DE&city=Erlangen&postalcode=91052&street=N%C3%BCrnberger+Stra%C3%9Fe+7&format=json&limit=1 (Caused by ReadTimeoutError("HTTPSConnectionPool(host='nominatim.openstreetmap.org', port=443): Read timed out. (read timeout=1)"))
import urllib3
http = urllib3.PoolManager(1, headers={'user-agent': 'my-test-app'})
url = 'https://nominatim.openstreetmap.org/search?country=DE&city=Erlangen&postalcode=91052&street=N%C3%BCrnberger+Stra%C3%9Fe+7&format=json&limit=1'
resp = http.request('GET', url)
json.loads(resp.data.decode())
>>> [{'place_id': 17025708,
>>> 'licence': 'Data © OpenStreetMap contributors, ODbL 1.0. https://osm.org/copyright',
>>> 'osm_type': 'node',
>>> 'osm_id': 1641967158,
>>> 'boundingbox': ['49.5924431', '49.5925431', '11.0043901', '11.0044901'],
>>> 'lat': '49.5924931',
>>> 'lon': '11.0044401',
>>> 'display_name': 'Postbank, 7, Nürnberger Straße, Am Anger, Erlangen, Bayern, 91052, Deutschland',
>>> 'class': 'amenity',
>>> 'type': 'bank',
>>> 'importance': 0.6309999999999999,
>>> 'icon': 'https://nominatim.openstreetmap.org/ui/mapicons//money_bank2.p.20.png'}]
它似乎不仅仅是删除重复项,但我找不到任何关于它的好文档。 API docs目前只是说: dedupe=[0|1] No explanation yet. 我正在运行我自己的 Nominatim
只是在我自己的 Openstreetmaps 服务器上闲逛,遇到了一些问题。 1) 我按照以下说明进行操作:http://wiki.openstreetmap.org/wiki/The_Rails_P
我们目前正在安装 Nominatim API,它在排名 30(索引),已经索引了大约 4 天,有人知道有多少排名要索引吗? 最佳答案 有 30 个 0 表示最高优先级,30 表示最低。 Here is
以下脚本可以完美处理包含 2 行的文件,但是当我尝试 2500 行文件时,出现 429 个异常。所以,我将查询时间增加到 5 秒。我还填写了用户代理。尝试失败后,我连接到 VPN 以更改“新鲜”,但我
我正在使用 OpenLayers + OpenStreetMaps 开发在线 map 应用程序。 我需要帮助在 javascript(或 php)中实现一个简单的反向地理编码函数,它接收纬度和经度并返
我有 PHP 应用程序发送地址解析的 url 请求: http://nominatim.openstreetmap.org/reverse?format=xml&lat=33&lon=34&addre
您好,我是 openstreet map 和 nomintim 的新手....我在以下链接中找到了我要找的东西.....但我不确定如何实现它...我只需要得到地理编码详细信息,比如如果我们搜索一个地方
有没有办法通过 nominatim 请求获取对象所在的道路类型? 例如 http://nominatim.openstreetmap.org/reverse?format=xml&lat=52.548
我在 PHP 中有这些代码来进行反向地理编码[从纬度、经度获取地址]: $value) { if($name == "display_name") {
当我在 guide 的帮助下安装 Nominatim 时,它会自动创建一个网站。我想知道如何才能按照自己的意愿更改网站。 osm@debian:/var/www/nominatim$ ls css
我正在使用 Nominatim API 获取项目的一些本地街道的边界框和多边形点。 我发现的一个问题是,当我在网络浏览器上请求 URL 时,例如: Rua de Santa Maria 它检索此边界框
我正在尝试设置自己的 OpenStreetMap 服务器,并且遵循了 Wikipedia 中的官方教程和另一个教程。首先,我从 GIT 克隆 Nominatim,然后通过录音构建它: cd Nomin
我需要弄清楚将多个 OSM 文件加载到 Nominatim 数据库的过程。我已经完成了所有设置,并且可以毫无问题地加载单个文件。 基本上我想要做的是加载一些 GeoFabrik OSM 文件,仅适用于
我想使用 nominatim R package 从 OpenStreetMap 获取可绘制的空间(边界/多边形)数据. nominatim::osm_search_spatial 请求似乎成功运行,
我在使用传单 map 的传单控制地理编码器插件时遇到了一些真正的问题(leaflet-control-geocoder),我一定是个非常白痴,因为我只是尝试复制我在本页demo-plugin上找到的相
我在 Amazon R3 Linux 实例上设置了 PHP Nominatim API。 (15GB 内存 2VCPU 等(这是一台相当快的计算机)) 我预计它每秒大约响应多少次 API 调用? 我计
我正在开发使用谷歌地图的移动应用程序,我想用设备纬度和经度(反向地理编码)查找用户当前地址。 谷歌有一些限制,一旦我超出它就会向我收费。 现在我在看 OpenStreetMap,它可以公开使用。我可以
我已经在虚拟 qemu ubuntu 16.04 服务器上安装了 nominatiom,我可以使用 http://127.0.0.1:8080 访问 apache 的默认页面url 在主机中,但我无法
我有一个包含超过 6k 个地址条目的数据库,因此我已经安装了带有 docker 的 nominatim 服务器来进行地理编码工作。它在“localhost:8080”上的 Web 表单中正常工作。 但
我已经按照那里的 wiki.guide http://wiki.openstreetmap.org/wiki/Nominatim/Installation 在我本地的 centOS 6.6 机器上安装
我是一名优秀的程序员,十分优秀!