Hi, trying to add a service as basemap to a web map with Python (ArcGIS Pro 3.1) (manually i can do this in Portal 11.1 analogue screenshot below).
Unfortunately i don't find any example how to do this.
thanks for any help.
It works with Portal 10.9.1 but not with Portal 11.1. Perhaps because the WMTS-Url "https://wayback.maptiles.arcgis.com/arcgis/rest/services/world_imagery/wmts" is not valid
The error message with Portal 11.1 is:
Traceback (most recent call last):File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\urllib3\connection.py", line 174, in _new_connconn = connection.create_connection(File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\urllib3\util\connection.py", line 72, in create_connectionfor res in socket.getaddrinfo(host, port, family, socket.SOCK_STREAM):File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\socket.py", line 954, in getaddrinfofor res in _socket.getaddrinfo(host, port, family, type, proto, flags):socket.gaierror: [Errno 11001] getaddrinfo failed
During handling of the above exception, another exception occurred:
Traceback (most recent call last):File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\urllib3\connectionpool.py", line 703, in urlopenhttplib_response = self._make_request(File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\urllib3\connectionpool.py", line 386, in _make_requestself._validate_conn(conn)File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\urllib3\connectionpool.py", line 1042, in _validate_connconn.connect()File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\urllib3\connection.py", line 358, in connectself.sock = conn = self._new_conn()File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\urllib3\connection.py", line 186, in _new_connraise NewConnectionError(urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPSConnection object at 0x0000022DB91FF160>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed
Traceback (most recent call last):File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\requests\adapters.py", line 489, in sendresp = conn.urlopen(File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\urllib3\connectionpool.py", line 815, in urlopenreturn self.urlopen(File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\urllib3\connectionpool.py", line 815, in urlopenreturn self.urlopen(File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\urllib3\connectionpool.py", line 787, in urlopenretries = retries.increment(File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\urllib3\util\retry.py", line 592, in incrementraise MaxRetryError(_pool, url, error or ResponseError(cause))urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='wayback.maptiles.arcgis.com', port=443): Max retries exceeded with url: /arcgis/rest/services/world_imagery/wmts?service=WMTS&request=GetCapabilities&version=1.0.0&token=ZoYz_-geL4L5e2Pbj6cQkz1sN-2ZMH9zIgLtN5cOHGXBEJx_2eCFVTjrm94O2zoTzAkNGCisuk1LEZ09m16O9-xhZvFi5s9Pc_GaOAmqs4E5xtn_EaKamfVZBgQV1nhNUETn2aZH2HneAZIg_-vMjc1UGKeSkbUpnKTtjDeuw3ruFeJ_GQGdEVvz5PqEBm3Lr0BIQFlVyoYPAnCWzvGr1ekm3p_tYft0_mMtCDTPQVynabc617qqOWW_K-KmxxVY (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000022DB91FF160>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed'))
Traceback (most recent call last):File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\arcgis\gis\_impl\_con\_connection.py", line 829, in getresp = self._session.get(File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\arcgis\auth\api.py", line 437, in getreturn self._session.get(File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\requests\sessions.py", line 600, in getreturn self.request("GET", url, **kwargs)File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\requests\sessions.py", line 587, in requestresp = self.send(prep, **send_kwargs)File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\requests\sessions.py", line 701, in sendr = adapter.send(request, **kwargs)File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\requests\adapters.py", line 565, in sendraise ConnectionError(e, request=request)requests.exceptions.ConnectionError: HTTPSConnectionPool(host='wayback.maptiles.arcgis.com', port=443): Max retries exceeded with url: /arcgis/rest/services/world_imagery/wmts?service=WMTS&request=GetCapabilities&version=1.0.0&token=ZoYz_-geL4L5e2Pbj6cQkz1sN-2ZMH9zIgLtN5cOHGXBEJx_2eCFVTjrm94O2zoTzAkNGCisuk1LEZ09m16O9-xhZvFi5s9Pc_GaOAmqs4E5xtn_EaKamfVZBgQV1nhNUETn2aZH2HneAZIg_-vMjc1UGKeSkbUpnKTtjDeuw3ruFeJ_GQGdEVvz5PqEBm3Lr0BIQFlVyoYPAnCWzvGr1ekm3p_tYft0_mMtCDTPQVynabc617qqOWW_K-KmxxVY (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000022DB91FF160>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed'))
Traceback (most recent call last):File "\\N5006021\Benutzer\MuellerA345\Eigene Dateien\PortalForArcGIS\Automatisierung\script_datenbereitstellung\publishgeodata.py", line 667, in <module>runForServer(server_url, p)File "\\N5006021\Benutzer\MuellerA345\Eigene Dateien\PortalForArcGIS\Automatisierung\script_datenbereitstellung\publishgeodata.py", line 521, in runForServerpublishBasemaps(gis, item_category_json, license_text)File "\\N5006021\Benutzer\MuellerA345\Eigene Dateien\PortalForArcGIS\Automatisierung\script_datenbereitstellung\publishgeodata.py", line 343, in publishBasemapsm.add_layer(WMTSLayer(url=wmts_url))File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\arcgis\widgets\_mapview\_mapview.py", line 1505, in add_layerself._add_layer_to_widget(item, options)File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\arcgis\widgets\_mapview\_mapview.py", line 1597, in _add_layer_to_widgetself._add_layer_to_webmap(item, options)File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\arcgis\widgets\_mapview\_mapview.py", line 1510, in _add_layer_to_webmapself.webmap.add_layer(item, webmap_options)File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\arcgis\mapping\_types.py", line 515, in add_layernew_layer = self._create_layer_definition(layer, options)File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\arcgis\mapping\_types.py", line 924, in _create_layer_definitionnew_layer = {**new_layer, **layer._operational_layer_json}File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\arcgis\mapping\ogc\wmts.py", line 275, in _operational_layer_jsonreturn self.__text__File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\arcgis\mapping\ogc\wmts.py", line 204, in __text__if isinstance(self.properties.Capabilities.Contents.Layer, (list, tuple)):File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\arcgis\mapping\ogc\wmts.py", line 87, in propertiestext = self._con.get(url, {}, try_json=False, add_token=False)File "C:\Program Files\ArcGIS\Pro\bin\Python\envs\arcgispro-py3\lib\site-packages\arcgis\gis\_impl\_con\_connection.py", line 843, in getraise requests.exceptions.ConnectionError(requests.exceptions.ConnectionError: A connection error has occurred: HTTPSConnectionPool(host='wayback.maptiles.arcgis.com', port=443): Max retries exceeded with url: /arcgis/rest/services/world_imagery/wmts?service=WMTS&request=GetCapabilities&version=1.0.0&token=ZoYz_-geL4L5e2Pbj6cQkz1sN-2ZMH9zIgLtN5cOHGXBEJx_2eCFVTjrm94O2zoTzAkNGCisuk1LEZ09m16O9-xhZvFi5s9Pc_GaOAmqs4E5xtn_EaKamfVZBgQV1nhNUETn2aZH2HneAZIg_-vMjc1UGKeSkbUpnKTtjDeuw3ruFeJ_GQGdEVvz5PqEBm3Lr0BIQFlVyoYPAnCWzvGr1ekm3p_tYft0_mMtCDTPQVynabc617qqOWW_K-KmxxVY (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0000022DB91FF160>: Failed to establish a new connection: [Errno 11001] getaddrinfo failed'))
Hi @MichaelNüßlein
I found documentation on adding WMTS layers here: https://developers.arcgis.com/python/samples/publish-ogc-services/
For instance the following worked for me
from arcgis.gis import GIS from arcgis.mapping.ogc import WMTSLayer from arcgis.mapping import WebMap gis = GIS("home") wmts_url = "https://wayback.maptiles.arcgis.com/arcgis/rest/services/world_imagery/wmts" m = gis.map() m.add_layer(WMTSLayer(url=wmts_url)) m
I hope this is helpful!
サインインしたメンバーは投稿、更新のフォローなどができます。初めてですか?無料アカウントを登録してください。
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.