import geopandas as gpd
import pandas as pd
import numpy as np

import STARTHER
import lastnedvegnett
import skrivdataframe
import nvdbapiv3
import nvdbgeotricks

t0 = datetime.now()

# egenskapfilter_bk904_u10t = 'egenskap(10901)=18186 OR egenskap(10901)=18187 OR egenskap(10901)=18188 OR egenskap(10901)=18189 OR egenskap(10901)=18190'
# overlappfilter  = '904(10901=18186 OR 10901=18187 OR 10901=18188 OR 10901=18189 OR 10901=18190)'

mittfilter = lastnedvegnett.kostraFagdataFilter(
    mittfilter={'egenskap': '1263=7304 OR 1263=7305'})
sok = nvdbapiv3.nvdbFagdata(60)
sok.filter(mittfilter)
bruGdf = nvdbgeotricks.records2gdf(sok.to_records())

# Oppsummerer bru. Her må vi ta hensyn til at noen av bruene mangler egenskapen "Lengde"
bruGdf_medLengde = bruGdf[~bruGdf['Lengde'].isnull()].drop_duplicates(
    subset='nvdbId')
bruGdf_uLengde = bruGdf[bruGdf['Lengde'].isnull()].copy()
bruGdf_uLengde['Lengde'] = bruGdf_uLengde['segmentlengde']
bru_alleharLengde = pd.concat([bruGdf_medLengde, bruGdf_uLengde])

telling = bru_alleharLengde.groupby(['fylke']).agg({
    'nvdbId': 'nunique',
    'Lengde': 'sum'
}).reset_index()
import geopandas as gpd
import pandas as pd
import numpy as np

import STARTHER
import lastnedvegnett
import skrivdataframe
import nvdbapiv3
import nvdbgeotricks

t0 = datetime.now()

# Tunneller (evt tunnelløp) som overlapper med høydebegrensning under 4m
overlappfilter = '591(5277<4)'
mittfilter = lastnedvegnett.kostraFagdataFilter(
    mittfilter={'overlapp': overlappfilter})

# Henter tunneler
sok = nvdbapiv3.nvdbFagdata(581)
sok.filter(mittfilter)
tunnelGdf = nvdbgeotricks.records2gdf(sok.to_records())
tunnelGdf.to_file('tunneldebug.gpkg', layer='tunnelpunkt_u_4m', driver='GPKG')

# Dessverre er det noen tunneller som mangler egnenskapen "Lengde, offisiell"
# Vi skal supplere manglende data fra tunnelløp
# aller først deler vi tunnel-datasettet i to
manglerLengde = tunnelGdf[tunnelGdf['Lengde, offisiell'].isnull()].copy()
harLengde = tunnelGdf[~tunnelGdf['Lengde, offisiell'].isnull()]

# Først få tak i tunnelløp
sok = nvdbapiv3.nvdbFagdata(67)
from datetime import datetime

import geopandas as gpd
import pandas as pd
import numpy as np
from copy import deepcopy

import STARTHER
import lastnedvegnett
import skrivdataframe
import nvdbapiv3
import nvdbgeotricks

t0 = datetime.now()

mittfilter = lastnedvegnett.kostraFagdataFilter()
mittfilter['egenskap'] = '1216=3615'
mittfilter['overlapp'] = '540(4623>=5000)'

sok = nvdbapiv3.nvdbFagdata(241)
sok.filter(mittfilter)
myGdf = nvdbgeotricks.records2gdf(sok.to_records())

myGdf.to_file('debug_grus.gpkg', layer='grus aadt over 5000', driver='GPKG')

# Debugger, henter det inverse søket.
filter2 = lastnedvegnett.kostraFagdataFilter(mittfilter={})
filter2['overlapp'] = '241(1216=3615)'
filter2['egenskap'] = '4623>=5000'

sok = nvdbapiv3.nvdbFagdata(540)
Example #4
0
import pandas as pd
import numpy as np

import STARTHER
import lastnedvegnett
import skrivdataframe
import nvdbapiv3
import nvdbgeotricks

t0 = datetime.now()

# egenskapfilter_bk904_u10t = 'egenskap(10901)=18186 OR egenskap(10901)=18187 OR egenskap(10901)=18188 OR egenskap(10901)=18189 OR egenskap(10901)=18190'
overlappfilter = '904(10901=18186 OR 10901=18187 OR 10901=18188 OR 10901=18189 OR 10901=18190)'

mittfilter = lastnedvegnett.kostraFagdataFilter(mittfilter={
    'egenskap': '1263=7304',
    'overlapp': overlappfilter
})
sok = nvdbapiv3.nvdbFagdata(60)
sok.filter(mittfilter)
bruGdf = nvdbgeotricks.records2gdf(sok.to_records())

# Oppsummerer bru. Her må vi ta hensyn til at noen av bruene mangler egenskapen "Lengde"
bruGdf_medLengde = bruGdf[~bruGdf['Lengde'].isnull()].drop_duplicates(
    subset='nvdbId')
bruGdf_uLengde = bruGdf[bruGdf['Lengde'].isnull()].copy()
bruGdf_uLengde['Lengde'] = bruGdf_uLengde['segmentlengde']
bru_alleharLengde = pd.concat([bruGdf_medLengde, bruGdf_uLengde])

telling = bru_alleharLengde.groupby(['fylke']).agg({
    'nvdbId': 'nunique',
    'Lengde': 'sum'
Example #5
0
from copy import deepcopy

import geopandas as gpd
import pandas as pd
import numpy as np

import STARTHER
import lastnedvegnett
import skrivdataframe
import nvdbapiv3
import nvdbgeotricks

t0 = datetime.now()
mittfilter = lastnedvegnett.kostraFagdataFilter(
    mittfilter={
        'overlapp': '591(5277 < 4 AND (5270=8168 OR 5270=8149))',
        'egenskap': '1263=7304'
    })
# mittfilter = lastnedvegnett.kostraFagdataFilter( mittfilter={ 'egenskap' : ' 5277 < 4 AND ( 5270=8168 OR 5270=8149 ) ', 'overlapp' : '60(1263=7304)'} )
# mittfilter = lastnedvegnett.kostraFagdataFilter( mittfilter={ 'overlapp' : '591(5277 < 4 AND ( 5270=8168 OR 5270=8149 ) ) ', 'egenskap' : '1263=7304'} )
sok = nvdbapiv3.nvdbFagdata(60)
sok.filter(mittfilter)
bruGdf = nvdbgeotricks.records2gdf(sok.to_records())

bruGdf.to_file('brudebug.gpkg', layer='nyeHoydeBegrBruer', driver='GPKG')

# Oppsummerer bru. Her må vi ta hensyn til at noen av bruene mangler egenskapen "Lengde"
bruGdf_medLengde = bruGdf[~bruGdf['Lengde'].isnull()].drop_duplicates(
    subset='nvdbId')
bruGdf_uLengde = bruGdf[bruGdf['Lengde'].isnull()].copy()
bruGdf_uLengde['Lengde'] = bruGdf_uLengde['segmentlengde']
from datetime import datetime
from copy import deepcopy

import geopandas as gpd
import pandas as pd
import numpy as np

import STARTHER
import lastnedvegnett
import skrivdataframe
import nvdbapiv3

t0 = datetime.now()
sterkfilter = lastnedvegnett.kostraFagdataFilter(
    mittfilter={'egenskap': '9500=13384'})
vegmerksok = nvdbapiv3.nvdbFagdata(836)
vegmerksok.filter(sterkfilter)
vegmerk = pd.DataFrame(vegmerksok.to_records())
vegmerklendge = vegmerk.groupby(['fylke']).agg({
    'nvdbId': 'nunique',
    'segmentlengde': 'sum'
}).reset_index()
vegmerklendge.rename(columns={
    'nvdbId': 'Antall',
    'segmentlengde': 'Lengde (m)'
},
                     inplace=True)

skrivdataframe.skrivdf2xlsx(
    vegmerklendge,
    '../../output/Kostra 23 - Fylkesveg med forsterket midtoppmerking.xlsx',
from datetime import datetime 
from copy import deepcopy 

import geopandas as gpd 
import pandas as pd
import numpy as np

import STARTHER
import lastnedvegnett  
import skrivdataframe
import nvdbapiv3
import nvdbgeotricks

t0 = datetime.now()
mittfilter = lastnedvegnett.kostraFagdataFilter( mittfilter={ 'egenskap' : '5277 < 4 AND 5270=8151' } )
# mittfilter = lastnedvegnett.kostraFagdataFilter( mittfilter={ 'egenskap' : ' 5277 < 4 AND ( 5270=8168 OR 5270=8149 ) ', 'overlapp' : '60(1263=7304)'} )
# mittfilter = lastnedvegnett.kostraFagdataFilter( mittfilter={ 'overlapp' : '591(5277 < 4 AND ( 5270=8168 OR 5270=8149 ) ) ', 'egenskap' : '1263=7304'} )
sok = nvdbapiv3.nvdbFagdata( 591 )
sok.filter( mittfilter  ) 
myGdf = nvdbgeotricks.records2gdf( sok.to_records( ) )

# myGdf.to_file(  'brudebug.gpkg', layer='nyeHoydeBegrBruer', driver='GPKG')

# Debugger hvilken effekt overlapp med bru evt måtte ha... 
filter2 = deepcopy( mittfilter )
filter2['overlapp'] = '60'
sok = nvdbapiv3.nvdbFagdata( 591 )
sok.filter( filter2 )
testGdf = nvdbgeotricks.records2gdf( sok.to_records())

from datetime import datetime 
from copy import deepcopy 

import geopandas as gpd 
import pandas as pd
import numpy as np

import STARTHER
import lastnedvegnett  
import skrivdataframe
import nvdbapiv3

t0 = datetime.now()
skjermfilter = lastnedvegnett.kostraFagdataFilter( mittfilter={ 'egenskap' : '1247=1994'} )
skjermsok = nvdbapiv3.nvdbFagdata( 3 )
skjermsok.filter( skjermfilter ) 
skjerm = pd.DataFrame( skjermsok.to_records( ) )
skjermlengde = skjerm.groupby( ['fylke' ]).agg( { 'nvdbId': 'nunique', 'segmentlengde' : 'sum' } ).reset_index()
skjermlengde.rename( columns={ 'nvdbId' : 'Antall', 'segmentlengde' : 'Lengde (m)' }, inplace=True )

vollfilter = lastnedvegnett.kostraFagdataFilter( mittfilter={ 'egenskap' : '1286=1996'} )
vollsok = nvdbapiv3.nvdbFagdata( 234 )
vollsok.filter( vollfilter ) 
voll = pd.DataFrame( vollsok.to_records( ) )
volllengde = voll.groupby( ['fylke' ]).agg( { 'nvdbId': 'nunique', 'segmentlengde' : 'sum' } ).reset_index()
volllengde.rename( columns={ 'nvdbId' : 'Antall', 'segmentlengde' : 'Lengde (m)' }, inplace=True )

# lengde['Veg'] = 'FV' + lengde['nummer'].astype(str)
# lengde['Lengde (m)'] = lengde['segmentlengde']
# lengde = lengde[[ 'fylke', 'Veg', 'Lengde (m)']]