Repository: microsoft/torchgeo

Issue:
HTTP internal server error when trying to download ``AbovegroundLiveWoodyBiomassDensity``
### Description

There is an ``urllib.error.HTTPError: HTTP Error 500: Internal Server Error`` occuring . This issue occures when compiling from github and installing using pip3. It is occuring for`` AbovegroundLiveWoodyBiomassDensity`` which is a module from ``torchgeo.datasets.agb_live_woody_density``

### Steps to reproduce

python
``
from torchgeo.datasets.agb_live_woody_density import AbovegroundLiveWoodyBiomassDensity 
ALWBD = AbovegroundLiveWoodyBiomassDensity(paths="~/test", download=True)
``


### Version

0.6.0.dev0 and 0.5.0


Discussion:
@nilsleh you added this dataset, do you remember where you got the download link from? Probably just needs to be updated.

Resolving patch:
diff --git a/torchgeo/datasets/agb_live_woody_density.py b/torchgeo/datasets/agb_live_woody_density.py
--- a/torchgeo/datasets/agb_live_woody_density.py
+++ b/torchgeo/datasets/agb_live_woody_density.py
@@ -44,10 +44,7 @@ class AbovegroundLiveWoodyBiomassDensity(RasterDataset):
 
     is_image = False
 
-    url = (
-        "https://opendata.arcgis.com/api/v3/datasets/3e8736c8866b458687"
-        "e00d40c9f00bce_0/downloads/data?format=geojson&spatialRefId=4326"
-    )
+    url = "https://opendata.arcgis.com/api/v3/datasets/e4bdbe8d6d8d4e32ace7d36a4aec7b93_0/downloads/data?format=geojson&spatialRefId=4326"  # noqa: E501
 
     base_filename = "Aboveground_Live_Woody_Biomass_Density.geojson"
 
@@ -123,7 +120,7 @@ def _download(self) -> None:
 
         for item in content["features"]:
             download_url(
-                item["properties"]["download"],
+                item["properties"]["Mg_px_1_download"],
                 self.paths,
                 item["properties"]["tile_id"] + ".tif",
             )


Test patch:
diff --git a/tests/data/agb_live_woody_density/Aboveground_Live_Woody_Biomass_Density.geojson b/tests/data/agb_live_woody_density/Aboveground_Live_Woody_Biomass_Density.geojson
--- a/tests/data/agb_live_woody_density/Aboveground_Live_Woody_Biomass_Density.geojson
+++ b/tests/data/agb_live_woody_density/Aboveground_Live_Woody_Biomass_Density.geojson
@@ -1 +1 @@
-{"type": "FeatureCollection", "name": "Aboveground_Live_Woody_Biomass_Density", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:OGC:1.3:CRS84"}}, "features": [{"type": "Feature", "properties": {"tile_id": "00N_000E", "download": "tests/data/agb_live_woody_density/00N_000E.tif", "ObjectId": 1, "Shape__Area": 1245542622548.87, "Shape__Length": 4464169.76558139}, "geometry": {"type": "Polygon", "coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, -10.0], [0.0, -10.0], [0.0, 0.0]]]}}]}
\ No newline at end of file
+{"type": "FeatureCollection", "name": "Aboveground_Live_Woody_Biomass_Density", "crs": {"type": "name", "properties": {"name": "urn:ogc:def:crs:OGC:1.3:CRS84"}}, "features": [{"type": "Feature", "properties": {"tile_id": "00N_000E", "Mg_px_1_download": "tests/data/agb_live_woody_density/00N_000E.tif", "ObjectId": 1, "Shape__Area": 1245542622548.87, "Shape__Length": 4464169.76558139}, "geometry": {"type": "Polygon", "coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, -10.0], [0.0, -10.0], [0.0, 0.0]]]}}]}
\ No newline at end of file
diff --git a/tests/data/agb_live_woody_density/data.py b/tests/data/agb_live_woody_density/data.py
--- a/tests/data/agb_live_woody_density/data.py
+++ b/tests/data/agb_live_woody_density/data.py
@@ -23,7 +23,7 @@
             "type": "Feature",
             "properties": {
                 "tile_id": "00N_000E",
-                "download": os.path.join(
+                "Mg_px_1_download": os.path.join(
                     "tests", "data", "agb_live_woody_density", "00N_000E.tif"
                 ),
                 "ObjectId": 1,
@@ -74,5 +74,5 @@ def create_file(path: str, dtype: str, num_channels: int) -> None:
         json.dump(base_file, f)
 
     for i in base_file["features"]:
-        filepath = os.path.basename(i["properties"]["download"])
+        filepath = os.path.basename(i["properties"]["Mg_px_1_download"])
         create_file(path=filepath, dtype="int32", num_channels=1)