Skip to content

Commit 1bf8599

Browse files
authored
Merge pull request #65 from SheffieldSolar/59-add-support-for-switching-between-2011-and-2021-lsoa-boundary-definitions-when-geocodingreverse-geocoding
add support for switching between 2011 and 2021 version of llsoa
2 parents 1d38a6d + 75179e0 commit 1bf8599

6 files changed

Lines changed: 217 additions & 96 deletions

File tree

Tests/test_geocode.py

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ def test_force_setup(self):
3737
geo.force_setup()
3838
cache_dir = geo.cache_manager.cache_dir
3939
assert cache_dir.is_dir()
40-
assert len([c for c in cache_dir.glob("*.p") if "gmaps" not in c.name]) == 15
40+
assert len([c for c in cache_dir.glob("*.p") if "gmaps" not in c.name]) == 17
4141

4242
def test_geocode_llsoa(self):
4343
"""
@@ -50,14 +50,16 @@ def test_geocode_llsoa(self):
5050
"W01000323",
5151
"S00101253",
5252
"S01008087",
53+
"S01020873",
5354
]
5455
centroids = [
55-
(54.547776537068664, -1.195629080286167),
56-
(53.666095344794648, -1.703771184460476),
57-
(51.578729873335718, -0.068445270723745),
58-
(53.207256254835059, -3.13247635788833),
59-
(55.94492620443608, -4.333451009831742),
60-
(55.91836588770352, -4.21934323024909),
56+
(54.5477949315505, -1.19562636315068),
57+
(53.6669451917253, -1.70300404181518),
58+
(51.5787798943552, -0.06847625193368),
59+
(53.2072680650806, -3.13215047150594),
60+
(55.9449262044360, -4.33345100983174),
61+
(55.9183658877035, -4.21934323024909),
62+
(55.9341580155129, -3.46004249282003),
6163
]
6264
with Geocoder() as geo:
6365
assert_almost_equal(geo.geocode_llsoa(llsoas), centroids)

geocode/geocode.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,10 @@ def reverse_geocode(self, latlons, entity, **kwargs):
297297
version = kwargs.pop("version", "20251204")
298298
return self.neso.reverse_geocode_gsp(latlons, version, **kwargs)
299299
elif entity == "llsoa":
300-
return self.ons_nrs.reverse_geocode_llsoa(latlons=latlons, **kwargs)
300+
version = kwargs.pop("version", "2011")
301+
return self.ons_nrs.reverse_geocode_llsoa(
302+
latlons, version=version, **kwargs
303+
)
301304
elif entity == "nuts":
302305
return self.eurostat.reverse_geocode_nuts(latlons=latlons, **kwargs)
303306
else:

geocode/ons/nrs_2021.zip

36.4 MB
Binary file not shown.

0 commit comments

Comments
 (0)