Skip to content

Commit 4a04bc7

Browse files
authored
Merge pull request #12 from desmondlsl/20250118-optimize
Optimize; Update dependencies
2 parents 56a9612 + f03b1e9 commit 4a04bc7

2 files changed

Lines changed: 20 additions & 46 deletions

File tree

requirements.txt

Lines changed: 16 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,16 @@
1-
attrs==23.1.0
2-
certifi==2023.11.17
3-
charset-normalizer==3.3.2
4-
click==8.1.7
5-
click-plugins==1.1.1
6-
cligj==0.7.2
7-
fiona==1.9.5
8-
geopandas==0.14.1
9-
idna==3.6
10-
numpy==1.26.2
11-
packaging==23.2
12-
pandas==2.1.3
13-
pyproj==3.6.1
14-
python-dateutil==2.8.2
15-
pytz==2023.3.post1
16-
requests==2.31.0
17-
setuptools==68.0.0
18-
shapely==2.0.2
19-
six==1.16.0
20-
tzdata==2023.3
21-
urllib3==2.1.0
22-
wheel==0.41.2
23-
pyogrio~=0.9.0
1+
certifi==2024.12.14
2+
charset-normalizer==3.4.1
3+
geopandas==1.0.1
4+
idna==3.10
5+
numpy==2.2.1
6+
packaging==24.2
7+
pandas==2.2.3
8+
pyogrio==0.10.0
9+
pyproj==3.7.0
10+
python-dateutil==2.9.0.post0
11+
pytz==2024.2
12+
requests==2.32.3
13+
shapely==2.0.6
14+
six==1.17.0
15+
tzdata==2024.2
16+
urllib3==2.3.0

waypoints.py

Lines changed: 4 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,6 @@
99
import glob
1010
import shutil
1111
import geopandas
12-
# noinspection PyUnresolvedReferences
13-
import pyogrio
14-
from pyproj import Transformer
1512
from tempfile import TemporaryDirectory
1613
import logging
1714

@@ -49,8 +46,6 @@ def store_version(key: str, version: str):
4946
csdi_dataset["id"])
5047
src_id = json.loads(r.content)['_source']['fileid'].replace('-', '')
5148

52-
epsgTransformer = Transformer.from_crs('epsg:2326', 'epsg:4326')
53-
5449
logging.info("Fetching FGDB")
5550
r = requests.get(
5651
"https://static.csdi.gov.hk/csdi-webpage/download/" + src_id + "/fgdb")
@@ -67,25 +62,11 @@ def store_version(key: str, version: str):
6762
z.extractall(tmpdir)
6863
gdb_path = os.path.join(tmpdir, gdb_name)
6964
logging.info("Reading data (1)")
70-
gdf = geopandas.read_file(gdb_path, encoding='utf-8', engine="pyogrio")
65+
gdf = geopandas.read_file(gdb_path, encoding='utf-8')
66+
logging.info("Transforming data")
67+
gdf.to_crs(epsg=4326, inplace=True)
7168
logging.info("Reading data (2)")
72-
data = json.loads(gdf.to_json(drop_id=True))
73-
74-
logging.info("Transforming data")
75-
for i, feature in enumerate(data["features"]):
76-
if feature["geometry"]["type"] == "MultiLineString":
77-
for j, coordinates in enumerate(
78-
feature["geometry"]["coordinates"]):
79-
for k, coordinate in enumerate(coordinates):
80-
lat, lng = epsgTransformer.transform(
81-
coordinate[1], coordinate[0])
82-
data["features"][i]["geometry"]["coordinates"][j][k] = [
83-
lng, lat]
84-
else:
85-
for j, coordinate in enumerate(feature["geometry"]["coordinates"]):
86-
lat, lng = epsgTransformer.transform(
87-
coordinate[1], coordinate[0])
88-
data["features"][i]["geometry"]["coordinates"][j] = [lng, lat]
69+
data = gdf.to_geo_dict(drop_id=True)
8970

9071
logging.info("Storing data")
9172
for feature in data["features"]:

0 commit comments

Comments
 (0)