Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Roelofsen, Hans
MNP utilities
Commits
896e782d
Commit
896e782d
authored
Nov 09, 2020
by
Roelofsen, Hans
Browse files
tabel met alle mnp soorten
parent
b998a02a
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
docs/details_nbt/details_mnp_soorten.md
0 → 100644
View file @
896e782d
This diff is collapsed.
Click to expand it.
sample/dk_plant.py
View file @
896e782d
...
...
@@ -89,7 +89,7 @@ for row in dk.itertuples():
else
:
mean_freq
=
sel
.
Frequentie
.
mean
()
mean_trouw
=
sel
.
Trouw
.
mean
()
dk_ww
=
hlp
.
draagkracht_ww
(
frequentie
=
mean_freq
,
trouw
=
mean_trouw
)
dk_ww
=
hlp
.
draagkracht_ww
(
frequentie
=
mean_freq
,
trouw
=
mean_trouw
,
th
=
0.01
)
print
(
'{0} X {1}: n={2} freq={3} trouw={4} dk={5}'
.
format
(
row
.
Scientific_name
,
row
.
Land_type_code
,
sel
.
shape
[
0
],
mean_freq
,
mean_trouw
,
dk_ww
))
...
...
@@ -98,16 +98,25 @@ for row in dk.itertuples():
dk
.
loc
[
row
.
Index
,
'Land_type_quality'
]
=
dk_ww
'''Write draagkracht file per species'''
# TODO: minimale draagkracht is 0.01
# TODO:
fails
=
[]
for
species_code
in
list
(
set
(
dk
.
Species_code
)):
local_name
=
code2localname
[
species_code
].
replace
(
' '
,
'_'
)
sel
=
dk
.
loc
[(
dk
.
Species_code
==
species_code
)
&
(
dk
.
Land_type_quality
.
notna
()
&
dk
.
Land_type_quality
>=
0.01
),
sel
=
dk
.
loc
[(
dk
.
Species_code
==
species_code
)
&
(
dk
.
Land_type_quality
.
notna
()),
[
'Species_code'
,
'Land_type_code'
,
'Land_type_quality'
]].
round
({
'Land_type_quality'
:
3
})
if
not
sel
.
empty
:
sel
.
to_csv
(
r
'c:\apps\z_temp\mnp_dk\03_MNP_versie7_par_density_factors_{}.csv'
.
format
(
local_name
),
index
=
False
,
header
=
True
,
sep
=
','
)
index
=
False
,
header
=
True
,
sep
=
','
)
print
(
'To file: {}'
.
format
(
local_name
))
else
:
sel
=
pd
.
Series
({
'Species_code'
:
species_code
,
'Local_name'
:
local_name
,
'Scientific_name'
:
code2scientificname
[
species_code
],
'msg'
:
'failed'
})
fails
.
append
(
sel
)
print
(
'Fail: {}'
.
format
(
local_name
))
if
len
(
fails
)
>
0
:
fails_df
=
pd
.
concat
(
fails
,
axis
=
1
)
fails_df
.
T
.
to_csv
(
r
'c:\apps\z_temp\mnp_dk\03_MNP_versie7_par_density_factors_MISSING.csv'
,
index
=
True
,
header
=
True
,
sep
=
'
\t
'
)
'''5. Reporting
...
...
sample/dk_vogel_vlinder.py
View file @
896e782d
...
...
@@ -54,7 +54,7 @@ for i, species in enumerate(species, start=1):
sp
=
hlp
.
Species
(
species
)
ndff
=
hlp
.
query_ndff
(
gdf
=
ndff_all
,
species
=
sp
,
max_area
=
10000
)
# NDFF shapefile for selected species.
except
(
AssertionError
,
ImportError
)
as
e
:
hlp
.
write2file
(
df
=
pd
.
Series
({
sp
.
naam_ned
:
e
}),
out_name
=
'error_{}'
.
format
(
species
),
out_dir
=
args
.
out_dir
)
hlp
.
write2file
(
df
=
pd
.
Series
({
sp
ecies
:
e
}),
out_name
=
'error_{}'
.
format
(
species
),
out_dir
=
args
.
out_dir
)
continue
out_name
=
'03_MNP_versie7_par_density_factors_{0}'
.
format
(
sp
.
naam_ned
)
...
...
@@ -131,12 +131,17 @@ for i, species in enumerate(species, start=1):
draagkracht
=
areas
.
loc
[:,
'{}_ndffpxls'
.
format
(
beheertype
)].
divide
(
areas
.
loc
[:,
beheertype
]).
max
().
round
(
3
)
if
draagkracht
>=
args
.
th
:
dks
[
beheertype
]
=
{
'Species_code'
:
sp
.
mnp_species_code
,
'Land_type_code'
:
beheertype
,
'Land_type_quality'
:
draagkracht
}
'Land_type_quality'
:
draagkracht
}
else
:
continue
except
KeyError
:
continue
out
=
pd
.
DataFrame
.
from_dict
(
dks
,
orient
=
'index'
)
hlp
.
write2file
(
df
=
out
,
out_name
=
out_name
,
out_dir
=
args
.
out_dir
)
if
not
out
.
empty
:
print
(
' {0} matched to {1} beheertypen'
.
format
(
sp
.
naam_ned
,
out
.
shape
[
0
]))
hlp
.
write2file
(
df
=
out
,
out_name
=
out_name
,
out_dir
=
args
.
out_dir
)
else
:
print
(
' zero dk for {}'
.
format
(
sp
.
naam_ned
))
sample/mnp/helpers.py
View file @
896e782d
...
...
@@ -450,6 +450,7 @@ def ndff_sources():
'dagvlinder'
:
r
'W:\PROJECTS\MNP2020\c_fases\f7_draagkracht\a_source_data\vlinders_ndff_shapefiles\ndff_vlinders_merged_okt2020.shp'
,
'test'
:
r
'c:\apps\temp_geodata\ndff\ndff_vogel_sample.shp'
}
class
Species
:
"""
Class holding all info related to a species
...
...
@@ -594,15 +595,19 @@ def fix_bt(code_in, as_mnp=False):
return
'{0}{1}.{2}'
.
format
(
pre
,
head
,
tail
)
def
draagkracht_ww
(
frequentie
,
trouw
):
def
draagkracht_ww
(
frequentie
,
trouw
,
th
):
"""
Draagkracht formule volgens Wieger Wamelink. Zie MS Teams discussie 16-07-2020 MNP2020/Fase 7 Objectivering Draagk..
:param frequentie: gemiddelde frequentie van soort X binnen beheertype Y
:param trouw: gemiddelde trouw van soort X binnen beheertype Y
:param th: minumum draagkracht value
:return: draagkracht soort X - beheertype Y combinatie, gemaximaliseerd tot 1.
"""
dk
=
np
.
min
([
np
.
multiply
(
np
.
divide
(
np
.
max
([
frequentie
,
trouw
]),
100
),
5
),
1
])
return
dk
if
dk
>=
th
:
return
dk
else
:
return
np
.
nan
def
valid_dir
(
x
):
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment