-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnewGpd.py~
35 lines (28 loc) · 1.49 KB
/
newGpd.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
26
27
28
29
30
31
32
33
34
35
#questo script mi serve solo per selezionare le colonne che mi interessano del GeoDataFrame e salvarle in un nuovo shapefile. Inoltre deve salvare in numpy un array di nomi unici (sestieri e toponimi)
# una libreria per leggere gli shapefile --> info qui: http://geopandas.org/index.html
import geopandas as gpd
# per i grafici
import matplotlib.pyplot as plt
# per il debug
import pdb
# per le cartelle
import os
# metodo per avere gli indici delle vie o della via trovata
from mydifflib import get_close_matches_indexes
from string import maketrans
folder = os.getcwd()
streets_graph = gpd.read_file(folder + "/data" + "/EL_STR.shp")
streets_names = gpd.read_file(folder + "/data" + "/TP_STR.shp")
civico = gpd.read_file("/home/lucatastrophe/Desktop/venessia/Venessia4Working/data/Tema0301_ToponimiNumeriCivici/CIVICO.shp")
trantab = {ord("0"):None,ord("1"):None,ord("2"):None,ord("3"):None,ord("4"):None,ord("5"):None,ord("6"):None,ord("7"):None,ord("8"):None,ord("9"):None,ord(","):None}
indirizzi = civico["INDIRIZZO"].to_list()
sestiere = []
for ind in indirizzi:
if ind is None:
sestiere.append(None)
else:
sestiere.append(ind.translate(trantab))
total = gpd.GeoDataFrame(data = zip(civico["CIVICO_NUM"], sestiere, civico["DENOMINAZI"], civico["geometry"]), columns = ["NUMERO","SESTIERE", "TOPONIMO", "geometry"])
venezia_ind = total["SESTIERE"].str.contains( "DORSODURO|CANNAREGIO|SAN POLO|^SAN MARCO|SANTA CROCE|CASTELLO")
total.index = venezia_ind
venezia = total.loc[True]