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!
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.