-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDownload_BF.py
More file actions
61 lines (51 loc) · 1.77 KB
/
Download_BF.py
File metadata and controls
61 lines (51 loc) · 1.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
"""
This snippet demonstrates how to access and convert the buildings
data from .csv.gz to geojson for use in common GIS tools. You will
need to install pandas, geopandas, and shapely.
"""
import pandas as pd
import geopandas as gpd
from shapely.geometry import shape
import fiona
"""
This snippet demonstrates how to access and convert the buildings
data from .csv.gz to geojson for use in common GIS tools. You will
need to install pandas, geopandas, and shapely.
"""
import pandas as pd
import geopandas as gpd
from shapely.geometry import shape
def main():
# this is the name of the geography you want to retrieve. update to meet your needs
location = "UnitedStates"
dataset_links = pd.read_csv(
"https://minedbuildings.blob.core.windows.net/global-buildings/dataset-links.csv"
)
greece_links = dataset_links[dataset_links.Location == location]
geodf = gpd.GeoDataFrame(columns=["id", "geometry"], geometry="geometry", crs=4326)
# row = greece_links.iloc[0,]
print("starting processing. ")
for _, row in greece_links.iterrows():
df = pd.read_json(row.Url, lines=True)
df["geometry"] = df["geometry"].apply(shape)
gdf = gpd.GeoDataFrame(df, crs=4326)
gdf.to_file(
r"S:\GCMC\Data\BuiltEnvironment\BuildingFootprints\MS_BF_heights_"
+ str(_)
+ ".shp",
driver="ESRI Shapefile",
)
# geodf = pd.concat([geodf, gdf])
# gdf.to_file(f"{row.QuadKey}.geojson", driver="GeoJSON")
print(
"Finished Row",
_,
". Starting nextrow: ",
_ + 1,
"out of ",
max(greece_links.index),
)
print("finished reading json... writing.")
print("done")
if __name__ == "__main__":
main()