def hentbomstasjon( sokeObjekt='', lokasjon = '', params = ''): """ Henter alle bomstasjoner fra NVDB api'et. Burde vært datakatalog-drevet, men er det ikke. Koden kan altså knekke hvis fremtidige revisjoner av datakatalogen endrer på bomstasjonenes egenskaper. Funker mot versjon 1.93. Sjekk gjeldende versjon her http://www.vegvesen.no/F*g/Teknologi/Nasjonal+vegdatabank/Datakatalogen evt programatisk mot api'et https://www.vegvesen.no/nvdb/api/datakatalog """ if not sokeObjekt: sokeObjekt = {'objektTyper': [ {'id': 45, 'antall': 250} ] } if not params: params = { 'geometriType' : 'WGS84' } data = nvdb.query_search( sokeObjekt, lokasjon = lokasjon, params = params) # newdata er en liste med lister - en per bomstasjon pluss header newdata, bomGeoJson, aadtGeojson = getRelevantData( data) newdata.reverse() # Snur listen to ganger for å starte med header newdata.append( [ 'bnavn1', 'tliten', 'tstor, vegnummer', 'lat', 'lon', 'harAp', 'apBeskr', 'kommunenr', 'bomstasjonId', 'aadtTotal', 'aadtLGV', 'aadtYear', 'aadtId' ] ) newdata.reverse() csvfil = 'bomstasjoner.csv' nvdb.csv_skriv( csvfil, newdata) # Skriver geojson til fil with open('bomGeoJson.json', 'wb') as fb: json.dump(bomGeoJson, fb) # Skriver geojson til fil with open('aadtGeoJson.json', 'wb') as fa: json.dump(bomGeoJson, fa)
parallelle_lop = tunnel.egenskap(3947) except KeyError: logger.error('Tunnel (# %s) har ingen egenskaper' % tunnel.id) skiltetlengde = None tunnelnavn = None antlop = None fylke = tunnel.lokasjon('fylke') kommune = tunnel.lokasjon('kommune') row['sum'] = (row['drept'] + row['meget_alvorlig_skadd'] + row['alvorlig_skadd'] + row['lettere_skadd']) csv_row = [ tunnelnavn, fylke, kommune, skiltet_lengde, int(row['lengde']), parallelle_lop, row['ulykker'], row['drept'], row['meget_alvorlig_skadd'], row['alvorlig_skadd'], row['lettere_skadd'], row['sum'] ] csv_list.append(csv_row) csv_header = [ 'Tunnelnavn', 'Fylke', 'Kommune', 'Skiltet lengde', 'Total lengde', 'Antall parallelle hovedlop', 'Antall ulykker', 'Antall drept', 'Antall meget alvorlig skadd', 'Antall alvorlig skadd', 'Antall lettere skadd', 'Sum drept og skadd' ] csv_list.insert(0, csv_header) csv_skriv('tunneler_med_ulykker.csv', csv_list)
#hgv = ",".join( hgv) #aar = ",".join( aar) if aadt == -1: aadt = None if hgv == -1: hgv = None if aar == -1: aar = None vegnr = ",".join( vegnummer ) retning = ",".join( envegmed ) vegrefId = ",".join( vegrefobjektID ) kommentar = ",".join( kommentar ) csv_row = [ tunnelnavn, tunnellopNavn, vegnr, tunnellopID, fylke, kommune, skiltet_lengde, lengde, parallelle_lop, aadt, hgv, aar, trafikkmengdeID, retning, kommentar, tunnelloplenke ] csv_list.append(csv_row) csv_header = [ u'Tunnelnavn', u'Tunnelløp navn', u'Vegnummer', u'Tunnelløp ID', u'Fylke', u'Kommune', u'Skiltet lengde tunnel', u'Lengde tunnelløp', u'Antall parallelle hovedløp', 'AADT', u'Andel tunge kjøretøy', u'Gjelder for år', u'Trafikkmengde ID',u'Enveg?',u'Kommentar', u'Lenke' ] csv_list.insert(0, csv_header) csv_skriv('tunneler_med_trafikkmengde.csv', csv_list)
match = 'FLERE?' # Reprojiserer, utm33 = pyproj.Proj('+init=EPSG:25833') utm32 = pyproj.Proj('+init=EPSG:25832') x2,y2 = pyproj.transform(utm33, utm32, pt.x, pt.y) liste = [ nvdbObj.data['lokasjon']['fylke']['nummer'], brunavn, int(round( float( nvdbObj.egenskap(egenskapstype=1313)))) , # Lengde int(round(x2)), int(round(y2)), # Nord/øst koordiant nvdbObj.id, match ] resultat.append( liste) nvdb.csv_skriv( 'brunavn.csv', resultat) if __name__ == '__main__': hentNvdbBruer( lengde=100) # sluppen = nvdb.Objekt( nvdb.query( '/vegobjekter/objekt/272765437') ) # svin = nvdb.Objekt( nvdb.query( '/vegobjekter/objekt/272299150') ) # enkeltNvdbBru( sluppen) # enkeltNvdbBru( svin)
row['pe_skum'] = 'Ja' row['pe_skum_lengde'] += frostsikring.lengde() row['pe_skum_reg_lengde'] += float(frostsikring.egenskap(7543, verdi=0)) row['pe_skum_reg_areal'] += int(frostsikring.egenskap(9307, verdi=0)) logger.debug(row) try: tunnelnavn = tunnel.egenskap(5225) except KeyError, e: logger.warning('Tunnel (# %s) har ingen egenskaper' % tunnel.id) tunnelnavn = None fylke = tunnel.lokasjon('fylke') kommune = tunnel.lokasjon('kommune') # Legger til en rad per tunnel csv_row = [ tunnelnavn, fylke, kommune, int(row['lengde']), row['pe_skum'], int(row['pe_skum_lengde']), float(row['pe_skum_reg_lengde']), int(row['pe_skum_reg_areal']) ] csv_list.append(csv_row) csv_header = [ 'Tunnelnavn', 'Fylke', 'Kommune', 'Total lengde', 'Utildekket PE-skum', 'Lengde med PE-skum', 'Registrert lengde', 'Registrert areal' ] csv_list.insert(0, csv_header) csv_skriv('tunneler_med_utildekket_peskum.csv', csv_list)