Skip to content

Commit 98fccb7

Browse files
Switch from Stamen to CartoDB for default basemaps (#798)
* switch to CartoDB.Positron as default exposures tiles * remove traces of stamen from climada_python, for url argument demo inbaseplot use NatGeoWorldMap instead * unpin xyzservices version
1 parent f362c2b commit 98fccb7

File tree

7 files changed

+25
-39
lines changed

7 files changed

+25
-39
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ Code freeze date: YYYY-MM-DD
1414

1515
### Changed
1616

17+
- The default tile layer in Exposures maps is not Stamen Terrain anymore, but [CartoDB Positron](https://github.com/CartoDB/basemap-styles). Affected methods are `climada.engine.Impact.plot_basemap_eai_exposure`,`climada.engine.Impact.plot_basemap_impact_exposure` and `climada.entity.Exposures.plot_basemap`. [#798](https://github.com/CLIMADA-project/climada_python/pull/798)
18+
1719
### Fixed
1820

1921
- Fix the dist_approx util function when used with method="geosphere" and log=True and points that are very close. [#792](https://github.com/CLIMADA-project/climada_python/pull/792)

climada/engine/impact.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -673,7 +673,7 @@ def plot_raster_eai_exposure(self, res=None, raster_res=None, save_tiff=None,
673673

674674
def plot_basemap_eai_exposure(self, mask=None, ignore_zero=False, pop_name=True,
675675
buffer=0.0, extend='neither', zoom=10,
676-
url=ctx.providers.Stamen.Terrain,
676+
url=ctx.providers.CartoDB.Positron,
677677
axis=None, **kwargs):
678678
"""Plot basemap expected impact of each exposure within a period of 1/frequency_unit.
679679
@@ -694,7 +694,7 @@ def plot_basemap_eai_exposure(self, mask=None, ignore_zero=False, pop_name=True,
694694
zoom : int, optional
695695
zoom coefficient used in the satellite image
696696
url : str, optional
697-
image source, e.g. ctx.providers.OpenStreetMap.Mapnik
697+
image source, default: ctx.providers.CartoDB.Positron
698698
axis : matplotlib.axes.Axes, optional
699699
axis to use
700700
kwargs : dict, optional
@@ -764,7 +764,7 @@ def plot_hexbin_impact_exposure(self, event_id=1, mask=None, ignore_zero=False,
764764

765765
def plot_basemap_impact_exposure(self, event_id=1, mask=None, ignore_zero=False,
766766
pop_name=True, buffer=0.0, extend='neither', zoom=10,
767-
url=ctx.providers.Stamen.Terrain,
767+
url=ctx.providers.CartoDB.Positron,
768768
axis=None, **kwargs):
769769
"""Plot basemap impact of an event at each exposure.
770770
Requires attribute imp_mat.
@@ -789,7 +789,7 @@ def plot_basemap_impact_exposure(self, event_id=1, mask=None, ignore_zero=False,
789789
zoom : int, optional
790790
zoom coefficient used in the satellite image
791791
url : str, optional
792-
image source, e.g. ctx.providers.OpenStreetMap.Mapnik
792+
image source, default: ctx.providers.CartoDB.Positron
793793
axis : matplotlib.axes.Axes, optional
794794
axis to use
795795
kwargs : dict, optional

climada/entity/exposures/base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -749,7 +749,7 @@ def plot_raster(self, res=None, raster_res=None, save_tiff=None,
749749

750750
def plot_basemap(self, mask=None, ignore_zero=False, pop_name=True,
751751
buffer=0.0, extend='neither', zoom=10,
752-
url=None, axis=None, **kwargs):
752+
url=ctx.providers.CartoDB.Positron, axis=None, **kwargs):
753753
"""Scatter points over satellite image using contextily
754754
755755
Parameters
@@ -771,7 +771,7 @@ def plot_basemap(self, mask=None, ignore_zero=False, pop_name=True,
771771
zoom coefficient used in the satellite image
772772
url : Any, optional
773773
image source, e.g., ``ctx.providers.OpenStreetMap.Mapnik``.
774-
Default: ``ctx.providers.Stamen.Terrain``
774+
Default: ``ctx.providers.CartoDB.Positron``
775775
axis : matplotlib.axes._subplots.AxesSubplot, optional
776776
axis to use
777777
kwargs : optional

climada/test/test_plot.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -162,10 +162,7 @@ def test_ctx_osm_pass(self):
162162
myexp.gdf['value'] = np.array([1, 1, 1])
163163
myexp.check()
164164

165-
try:
166-
myexp.plot_basemap(url=ctx.providers.OpenStreetMap.Mapnik)
167-
except urllib.error.HTTPError:
168-
self.assertEqual(1, 0)
165+
myexp.plot_basemap(url=ctx.providers.OpenStreetMap.Mapnik)
169166

170167
def test_disc_rates(self):
171168
"""Test plot function of discount rates."""

climada/util/api_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -341,7 +341,7 @@ def _divide_straight_from_multi(properties):
341341
elif isinstance(_v, list):
342342
multis[k] = _v
343343
else:
344-
raise ValueError("properties must be a string or a list of strings")
344+
raise ValueError("the value of a property must be a string or a list of strings")
345345
return straights, multis
346346

347347
@staticmethod

doc/tutorial/climada_entity_Exposures.ipynb

Lines changed: 15 additions & 27 deletions
Large diffs are not rendered by default.

requirements/env_climada.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,3 @@ dependencies:
4040
- xarray>=2023.8
4141
- xlrd>=2.0
4242
- xlsxwriter>=3.1
43-
- xyzservices=2023.10.0

0 commit comments

Comments
 (0)