def __init__(self, miljo=None): self.geofilter = {} self.headers = { 'accept': 'application/vnd.vegvesen.nvdb-v3-rev1+json', 'X-Client': 'nvdbapi.py', 'X-Kontaktperson': '*****@*****.**' } self.update_http_header() self.paginering = { 'antall': 1000, # Hvor mange obj vi henter samtidig. 'hvilken': 0, # iterasjon # i det lokale datasettet # Dvs i+1 til # array self.data['objekter'] # 'meredata': True, # Gjetning på om vi kan hente mere data 'initielt': True, # Initiell ladning av datasett 'dummy': False # Jukse-bruk av paginering } # Standardverdier for responsen, og holder evt tilleggsparametre # Initielt tom for vegnett, men langt fagdata self.respons = {} self.data = {'objekter': []} self.forbindelse = apiforbindelse.apiforbindelse() if not miljo: miljo = 'prod' self.miljo(miljo)
def __init__(self, objTypeID, miljo=None): self.headers = { 'accept': 'application/vnd.vegvesen.nvdb-v3-rev1+json', 'X-Client': 'nvdbapi.py', 'X-Kontaktperson': 'Anonymous' } self.paginering = { 'antall': 1000, # Hvor mange obj vi henter samtidig. 'hvilken': 0, # iterasjon # i det lokale datasettet # Dvs i+1 til # array self.data['objekter'] # 'meredata': True, # Gjetning på om vi kan hente mere data 'initielt': True, # Initiell ladning av datasett 'dummy': False # For jukse-bruk av søkeobjektet } self.data = {'objekter': []} self.apiurl = 'https://www.vegvesen.no/nvdb/api/v3/' self.objektTypeId = None self.objektTypeDef = None self.antall = None self.strekningslengde = None self.geofilter = {} self.egenskapsfilter = {} self.overlappfilter = {} self.forbindelse = apiforbindelse.apiforbindelse() if not miljo: miljo = 'prod' self.miljo(miljo) self.forbindelse.velgmiljo('prodles') # Standardverdier for responsen self.respons = { 'inkluder': ['alle'] # Komma-separert liste } # Leser verdier for http header fra JSON-fil self.update_http_header() # Refresh er lurt, (arver tilstand fra andre instanser). self.refresh() # Leser typedefinisjon fra NVDB api self.objektTypeDef = self.anrope('/'.join( ('vegobjekttyper', str(objTypeID)))) self.objektTypeId = objTypeID
def lag_forbindelse(self, apiskriv=None): """ Oppretter en forbindelse til apiskriv. Du kan (gjen)bruke en eksisterende forbindelse eller opprette en ny Forbindelsen er en instans av apiskrivforbindelse-objektet, som håndterer en brukersesjon mot skriveAPI. arguments: apiskrivforbindelse [valgfri] En instans av apiskrivforbindelse """ if not apiskriv: apiskriv = apiforbindelse.apiforbindelse() self.forbindelse = apiskriv
from datetime import datetime import glob import geopandas as gpd import pandas as pd from shapely.geometry import Point import STARTHER import skrivnvdb import apiforbindelse import nvdbutilities emptyGeom = Point() forb = apiforbindelse.apiforbindelse() forb.login(miljo='prodskriv') url = 'https://www.vegvesen.no/nvdb/apiskriv/rest/v3/endringssett?antall=100&start=1&sorterP%C3%A5=TID&sorterStigende=false&status=UTF%C3%98RT_OG_ETTERBEHANDLET&brukernavnEllerKlient=vegfunksjon_' data = forb.les(url).json() # for endr in data['endringssett']: # starturl = [ x['src'] for x in endr['status']['ressurser'] if x['rel'] == 'start' ] # print( starturl[0]) endr = data['endringssett'][0] utvidetdata = [] for endr in data['endringssett']: