forked from microsoft/GlobalMLBuildingFootprints
-
Notifications
You must be signed in to change notification settings - Fork 0
/
make-gis-friendly.py
25 lines (20 loc) · 870 Bytes
/
make-gis-friendly.py
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
"""
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 = 'Greece'
dataset_links = pd.read_csv("https://minedbuildings.blob.core.windows.net/global-buildings/dataset-links.csv")
greece_links = dataset_links[dataset_links.Location == location]
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(f"{row.QuadKey}.geojson", driver="GeoJSON")
if __name__ == "__main__":
main()