From c1872321a05175f938823e199d41670910d224b4 Mon Sep 17 00:00:00 2001 From: Hans Roelofsen <hans.roelofsen@wur.nl> Date: Tue, 31 Oct 2023 13:37:28 +0100 Subject: [PATCH] other small updates --- .../header_queries.py | 37 +++++++++++++++++-- .../header_management_functions.py | 26 ++++++++++++- src/preparation/settings.py | 1 + 3 files changed, 59 insertions(+), 5 deletions(-) diff --git a/src/interactive_analysis_species/header_queries.py b/src/interactive_analysis_species/header_queries.py index 2b933be..cb231fc 100644 --- a/src/interactive_analysis_species/header_queries.py +++ b/src/interactive_analysis_species/header_queries.py @@ -1,5 +1,7 @@ import os import json +import re + import pandas as pd import numpy as np import geopandas as gp @@ -47,12 +49,14 @@ def ckdnearest(gdA: gp.GeoDataFrame, gdB: gp.GeoDataFrame): class DorenPlots: def __init__(self, source_data: dict, prepared_data: dict): + self.species_df = pd.read_csv( - source_data["eva_species"], - sep="\t", + prepared_data["eva_species"], + sep=",", usecols=[0, 5, 8], header=0, names=["plot_obs_id", "matched_concept", "cover_percentage"], + comment='#', ) # Add simplified species name @@ -70,9 +74,22 @@ class DorenPlots: self.preparation_menu = json.load(f) self.preparation_menu['prepared_headers'] = prepared_data['prepared_headers'] + def get_plots_inventory_for_species(self, species_identifier: str) -> pd.DataFrame: + + pattern = re.compile("s.l.|sl.|var|var.|agg.|agg|aggr.|aggr|sensu") + sel = self.species_df.query( + f"matched_concept == '{species_identifier}' or matched_concept_simplified == '{re.split(pattern, species_identifier)[0].strip()}'" + ) + if not sel.empty: + print(f' found {sel.shape[0]} ({len(set(sel.plot_obs_id))}) plots for {species_identifier}') + return sel + else: + raise ValueError(f"No plots found for {species_identifier}") + def identify_headers_with_species( self, species_identifier: str, + shout: bool=False ): """ Mark headers in dataframe which contain a species. Adds or overwrites column 'has_species' @@ -82,18 +99,30 @@ class DorenPlots: :return: dataframe with headers """ - plots = set( + # Match requested species name directly on matched concept column + plots1 = set( self.species_df.query( f"matched_concept == '{species_identifier}'" ).plot_obs_id ) + + # Simplify requested species name and search on simplified matched_concept column + pattern = re.compile(" s\.l\.| sl\. | var | var\. |agg\. | agg | aggr\. | aggr | sensu ") + plots2 = set(self.species_df.query( + f"matched_concept_simplified == '{re.split(pattern, species_identifier)[0].strip()}'" + ).plot_obs_id) + self.header_gdf = self.header_gdf.assign( - has_species=self.header_gdf.index.isin(plots) + has_species=self.header_gdf.index.isin(plots1.union(plots2)) ) if self.header_gdf.has_species.sum() == 0: raise ValueError(f"No plots found for {species_identifier}") + else: + if shout: + print(f'# Found {len(plots1)} plots directly and {len(plots2)} indirectly for {species_identifier}') + def identify_headers_of_structuurtype(self, strucuurtype: str): """ " Mark headers in dataframe which belong to the requested structuurtype diff --git a/src/preparation/header_management_functions.py b/src/preparation/header_management_functions.py index a58741d..790203c 100644 --- a/src/preparation/header_management_functions.py +++ b/src/preparation/header_management_functions.py @@ -1019,7 +1019,8 @@ def simplify_species(species_name: str) -> str: :param species_name: :return: species_name minus subsp or other flags """ - pattern = re.compile(r'subsp.? | var.? | aggr.? | ""| ssp.? | s.? | mod.? | \(| aggr\.?$| sensu\.? ') + pattern = re.compile(r'subsp.? | var.? | aggr.? | ""| ssp.? | s.? | mod.? | \(| aggr\.?$| sensu\.?| s.l.') + if re.search(pattern, species_name): out = re.split(pattern, species_name)[0] else: @@ -1087,6 +1088,29 @@ def species_list_(df: pd.DataFrame) -> pd.DataFrame: 'post_filter_simplified']] = np.nan return df01 + +def eva_species_list_selected(df: pd.DataFrame) -> pd.DataFrame: + """ + Read the EVA species list and return with selected plots only + Parameters + ---------- + df: header dataframe + + Returns + ------- + + """ + + species = pd.read_csv( + SOURCE_DATA["eva_species"], + sep="\t", + usecols=["PlotObservationID", "Matched concept", "Cover %", "Cover code"], + header=0, + ) + + return species.loc[species.PlotObservationID.isin(df.index), :] + + # lst = ["Abietinella abietina", "Achillea millefolium", "Achillea ptarmica", "Aconitum lycoctonum subsp. vulparia", "Actaea spicata", "Adoxa moschatellina", "Aegopodium podagraria", "Agrimonia eupatoria", "Agrimonia procera", "Agrostis canina", "Agrostis capillaris", "Agrostis gigantea", "Agrostis stolonifera", "Agrostis vinealis", "Aira caryophyllea", "Aira praecox", "Ajuga reptans", "Alchemilla glabra", "Alliaria petiolata", "Allium oleraceum", "Allium scorodoprasum", "Allium ursinum", "Allium vineale", "Alopecurus bulbosus", "Alopecurus pratensis", "Alyssum alyssoides", "Amblystegium serpens", "Amelanchier lamarckii", "Ammophila arenaria", "Anacamptis morio", "Anacamptis pyramidalis", "Anagallis minima", "Anagallis tenella", "Andromeda polifolia", "Anemone nemorosa", "Anemone ranunculoides", "Aneura pinguis", "Angelica archangelica", "Angelica sylvestris", "Anisantha tectorum", "Antennaria dioica", "Anthoxanthum odoratum", "Anthriscus caucalis", "Anthriscus sylvestris", "Anthyllis vulneraria", "Aquilegia vulgaris", "Arabis glabra", "Arabis hirsuta s. hirsuta", "Arctium minus s.l.", "Arctostaphylos uva-ursi", "Arenaria serpyllifolia", "Argentina anserina", "Aristavena setacea", "Armeria maritima", "Arnica montana", "Aronia floribunda", "Arrhenatherum elatius", "Artemisia campestris s. campestris", "Artemisia campestris s. maritima", "Artemisia maritima", "Artemisia vulgaris", "Arum italicum", "Arum maculatum", "Asparagus officinalis s. officinalis", "Asparagus officinalis s. prostratus", "Astomum crispum", "Athyrium filix-femina", "Atrichum undulatum", "Atriplex littoralis", "Atriplex prostrata", "Aulacomnium androgynum", "Aulacomnium palustre", "Avenella flexuosa", "Avenula pubescens", "Azolla filiculoides", "Baldellia ranunculoides s. ranunculoides", "Baldellia ranunculoides s. repens", "Barbilophozia barbata", "Barbula convoluta", "Barbula unguiculata", "Barbula vinealis", "Bazzania trilobata", "Bellis perennis", "Berberis vulgaris", "Betula pubescens", "Blackstonia perfoliata s. serotina", "Blackstonia perfoliata s.l.", "Blysmus compressus", "Blysmus rufus", "Botrychium lunaria", "Brachypodium pinnatum", "Brachypodium sylvaticum", "Brachythecium albicans", "Brachythecium glareosum", "Brachythecium rivulare", "Brachythecium rutabulum", "Brachythecium velutinum", "Briza media", "Bromopsis erecta", "Bromopsis inermis s. inermis", "Bromopsis ramosa ssp. benekenii", "Bromopsis ramosa ssp. ramosa", "Bromus hordeaceus s. hordeaceus", "Bromus hordeaceus s. thominei", "Bromus racemosus s. racemosus", "Bromus racemosus s.l.", "Bryoerythrophyllum recurvirostre", "Bryonia dioica", "Bryum caespiticium", "Bryum capillare", "Bryum pseudotriquetrum", "Bryum rubens", "Bupleurum tenuissimum", "Cakile maritima", "Calamagrostis canescens", "Calamagrostis epigejos", "Calamagrostis neglecta", "Calamagrostis × calammophila", "Calliergon cordifolium", "Calliergon giganteum", "Calliergonella cuspidata", "Callitriche obtusangula", "Callitriche stagnalis", "Calluna vulgaris", "Caltha palustris s. palustris", "Caltha palustris s.l.", "Calypogeia fissa", "Calystegia soldanella", "Campanula glomerata", "Campanula persicifolia", "Campanula rapunculus", "Campanula rotundifolia", "Campanula trachelium", "Campyliadelphus chrysophyllus", "Campylium stellatum", "Campylopus flexuosus", "Campylopus fragilis", "Campylopus introflexus", "Campylopus pyriformis", "Cardamine amara", "Cardamine hirsuta", "Cardamine pratensis", "Carduus crispus", "Carduus nutans", "Carex acuta", "Carex acutiformis", "Carex arenaria", "Carex canescens", "Carex caryophyllea", "Carex colchica", "Carex cuprina", "Carex diandra", "Carex digitata", "Carex dioica", "Carex distans", "Carex disticha", "Carex echinata", "Carex elata", "Carex elongata", "Carex ericetorum", "Carex extensa", "Carex flacca", "Carex flava", "Carex hartmanii", "Carex hirta", "Carex hostiana", "Carex laevigata", "Carex lasiocarpa", "Carex lepidocarpa", "Carex limosa", "Carex nigra", "Carex panicea", "Carex pendula", "Carex pilulifera", "Carex pseudocyperus", "Carex pulicaris", "Carex remota", "Carex rostrata", "Carex strigosa", "Carex sylvatica", "Carex trinervis", "Carex viridula", "Carlina vulgaris", "Carum carvi", "Carum verticillatum", "Catapodium rigidum", "Centaurea jacea s.l.", "Centaurea scabiosa", "Centaurium littorale", "Centaurium pulchellum", "Cephalanthera damasonium", "Cephalozia bicuspidata", "Cephalozia connivens", "Cephaloziella divaricata", "Cerastium arvense", "Cerastium diffusum", "Cerastium fontanum s. vulgare", "Cerastium pumilum", "Cerastium semidecandrum", "Ceratocapnos claviculata", "Ceratodon purpureus", "Ceratophyllum demersum", "Ceratophyllum submersum", "Cetraria aculeata", "Cetraria islandica", "Chaerophyllum bulbosum", "Chaerophyllum temulum", "Chamaecyparis lawsoniana", "Chara aspera", "Chara contraria", "Chara globularis", "Chara vulgaris", "Chrysosplenium alternifolium", "Chrysosplenium oppositifolium", "Cicendia filiformis", "Circaea alpina", "Circaea lutetiana", "Circaea x intermedia", "Cirsium acaulon", "Cirsium dissectum", "Cirsium palustre", "Cirsium vulgare", "Cladium mariscus", "Cladonia arbuscula", "Cladonia cariosa", "Cladonia cervicornis", "Cladonia chlorophaea", "Cladonia ciliata", "Cladonia coccifera", "Cladonia crispata", "Cladonia floerkeana", "Cladonia foliacea", "Cladonia furcata", "Cladonia glauca", "Cladonia gracilis", "Cladonia grayi", "Cladonia macilenta", "Cladonia phyllophora", "Cladonia pocillum", "Cladonia portentosa", "Cladonia ramulosa", "Cladonia rangiformis", "Cladonia squamosa", "Cladonia strepsilis", "Cladonia subulata", "Cladonia uncialis", "Cladonia verticillata", "Cladonia zopfii", "Cladopodiella fluitans", "Claytonia perfoliata", "Clematis vitalba", "Climacium dendroides", "Clinopodium acinos", "Clinopodium vulgare", "Cochlearia danica", "Cochlearia officinalis s. anglica", "Colchicum autumnale", "Comarum palustre", "Convallaria majalis", "Convolvulus arvensis", "Cornus sanguinea", "Corydalis cava", "Corydalis solida", "Corylus avellana", "Corynephorus canescens", "Crassula helmsii", "Crataegus germanica", "Crataegus laevigata", "Crataegus monogyna", "Cratoneuron filicinum", "Crepis biennis", "Crepis capillaris", "Crepis paludosa", "Cruciata laevipes", "Ctenidium molluscum", "Cuscuta epithymum", "Cynodon dactylon", "Cynoglossum officinale", "Cynosurus cristatus", "Cytisus scoparius", "Dactylis glomerata", "Dactylorhiza maculata", "Dactylorhiza majalis s. majalis", "Dactylorhiza majalis s. praetermissa", "Dactylorhiza majalis s.l.", "Dactylorhiza majalis ssp. sphagnicola", "Dactylorhiza viridis", "Danthonia decumbens", "Daphne mezereum", "Daucus carota", "Deschampsia cespitosa", "Dianthus deltoides", "Dichoropetalum carvifolia", "Dicranella heteromalla", "Dicranodontium denudatum", "Dicranoweisia cirrata", "Dicranum bonjeanii", "Dicranum montanum", "Dicranum polysetum", "Dicranum scoparium", "Digitalis purpurea", "Diplotaxis tenuifolia", "Dipsacus pilosus", "Ditrichum flexicaule", "Ditrichum pallidum", "Draba verna", "Drepanocladus aduncus", "Drepanocladus polygamus", "Drosera intermedia", "Drosera longifolia", "Drosera rotundifolia", "Dryopteris carthusiana", "Dryopteris cristata", "Dryopteris dilatata", "Dryopteris filix-mas", "Echium vulgare", "Elatine hexandra", "Eleocharis acicularis", "Eleocharis multicaulis", "Eleocharis palustris", "Eleocharis quinqueflora", "Eleocharis uniglumis", "Elodea nuttallii", "Elytrigia atherica", "Elytrigia juncea s. boreoatlantica", "Elytrigia repens", "Empetrum nigrum", "Encalypta streptocarpa", "Encalypta vulgaris", "Entodon concinnus", "Epilobium angustifolium", "Epilobium ciliatum", "Epilobium montanum", "Epilobium palustre", "Epilobium parviflorum", "Epilobium tetragonum", "Epipactis helleborine", "Epipactis palustris", "Equisetum fluviatile", "Equisetum hyemale", "Equisetum palustre", "Equisetum sylvaticum", "Equisetum telmateia", "Equisetum variegatum", "Erica cinerea", "Erica tetralix", "Erigeron acris", "Eriophorum angustifolium", "Eriophorum gracile", "Eriophorum latifolium", "Eriophorum vaginatum", "Erodium cicutarium s. dunense", "Erodium lebelii", "Eryngium campestre", "Eryngium maritimum", "Erysimum cheiranthoides", "Euonymus europaeus", "Eupatorium cannabinum", "Euphorbia amygdaloides", "Euphorbia cyparissias", "Euphorbia esula", "Euphorbia esula s. esula", "Euphorbia paralias", "Euphorbia seguieriana", "Euphrasia officinalis (= rostkoviana)", "Euphrasia stricta", "Eurhynchium hians", "Eurhynchium striatum", "Evernia prunastra", "Fallopia dumetorum", "Festuca arenaria", "Festuca arundinacea", "Festuca brevipila", "Festuca filiformis", "Festuca ovina", "Festuca rubra", "Ficaria verna s.l.", "Filago minima", "Filipendula ulmaria", "Fissidens adianthoides", "Fissidens bryoides", "Fissidens dubius", "Fissidens taxifolius", "Fontinalis antipyretica", "Fragaria vesca", "Frangula alnus", "Fritillaria meleagris", "Gagea spathacea", "Galanthus nivalis", "Galeopsis tetrahit", "Galium aparine", "Galium boreale", "Galium mollugo", "Galium odoratum", "Galium palustre s.l.", "Galium pumilum", "Galium saxatile", "Galium sylvaticum", "Galium uliginosum", "Galium verum s.l.", "Genista anglica", "Genista pilosa", "Genista tinctoria", "Gentiana cruciata", "Gentiana pneumonanthe", "Gentianella amarella", "Gentianella campestris", "Gentianella ciliata", "Gentianella germanica", "Geranium dissectum", "Geranium molle", "Geranium pratense", "Geranium pyrenaicum", "Geranium robertianum", "Geum rivale", "Geum urbanum", "Glaux maritima", "Glechoma hederacea", "Glyceria fluitans", "Glyceria maxima", "Gnaphalium uliginosum", "Gymnadenia conopsea", "Gymnocolea inflata", "Halimione pedunculata", "Hamatocaulis vernicosus", "Hedera helix", "Helianthemum nummularium", "Helictotrichon pratensis", "Helosciadium inundatum", "Heracleum sphondylium", "Herniaria glabra", "Hieracium murorum", "Hieracium sect. Vulgata", "Hieracium umbellatum s.l.", "Hierochloë odorata", "Hippocrepis comosa", "Hippophaë rhamnoides", "Hippuris vulgaris", "Holcus lanatus", "Holcus mollis", "Homalothecium lutescens", "Honckenya peploides", "Hordeum marinum", "Humulus lupulus", "Hydrocharis morsus-ranae", "Hydrocotyle vulgaris", "Hylocomium splendens", "Hylotelephium telephium", "Hypericum elodes", "Hypericum hirsutum", "Hypericum perforatum", "Hypericum pulchrum", "Hypericum tetrapterum", "Hypnum cupressiforme", "Hypnum imponens", "Hypochaeris radicata", "Hypogymnia physodes", "Hypopitys monotropa", "Ilex aquifolium", "Impatiens glandulifera", "Impatiens noli-tangere", "Inula conyzae", "Iris pseudacorus", "Isolepis fluitans", "Isolepis setacea", "Jacobaea aquatica", "Jacobaea erucifolia", "Jacobaea paludosa", "Jacobaea vulgaris s. dunensis", "Jacobaea vulgaris s. vulgaris", "Jacobaea vulgaris s.l.", "Jasione montana", "Juncus acutiflorus", "Juncus articulatus", "Juncus balticus", "Juncus bufonius", "Juncus bulbosus s.l.", "Juncus capitatus", "Juncus compressus", "Juncus conglomeratus", "Juncus effusus", "Juncus filiformis", "Juncus gerardi", "Juncus inflexus", "Juncus maritimus", "Juncus pygmaeus", "Juncus squarrosus", "Juncus subnodulosus", "Juncus tenageia", "Juniperus communis", "Knautia arvensis", "Koeleria macrantha", "Koeleria pyramidata", "Kurzia pauciflora", "Lamium album", "Lamium galeobdolon", "Laphangium luteoalbum", "Lapsana communis", "Lathyrus nissolia", "Lathyrus palustris", "Lathyrus pratensis", "Lemna minor", "Leontodon hispidus", "Lepidozia reptans", "Lepraria incana", "Leptobryum pyriforme", "Leskea polycarpa", "Leucanthemum vulgare", "Leucobryum glaucum", "Leymus arenarius", "Ligustrum vulgare", "Limonium vulgare", "Limosella aquatica", "Linum catharticum", "Liparis loeselii", "Lithospermum officinale", "Littorella uniflora", "Lobelia dortmanna", "Lolium perenne", "Lonicera periclymenum", "Lonicera xylosteum", "Lophocolea bidentata", "Lophozia ventricosa", "Lotus corniculatus", "Lotus maritimus", "Lotus pedunculatus", "Lotus tenuis", "Luronium natans", "Luzula campestris", "Luzula luzuloides", "Luzula multiflora s. multiflora", "Luzula multiflora s.l.", "Luzula pilosa", "Luzula sylvatica", "Lycopodiella inundata", "Lycopodium clavatum", "Lycopus europaeus", "Lysimachia nemorum", "Lysimachia nummularia", "Lysimachia thyrsiflora", "Lysimachia vulgaris", "Lythrum portula", "Lythrum salicaria", "Maianthemum bifolium", "Marchantia polymorpha", "Medicago falcata", "Medicago lupulina", "Medicago minima", "Melampyrum pratense", "Melica nutans", "Melica uniflora", "Mentha aquatica", "Menyanthes trifoliata", "Mercurialis perennis", "Milium effusum", "Minuartia hybrida", "Mnium hornum", "Moehringia trinervia", "Moenchia erecta", "Molinia caerulea", "Mylia anomala", "Myosotis laxa s. cespitosa", "Myosotis ramosissima", "Myosotis scorpioides s.l.", "Myosotis sylvatica", "Myosoton aquaticum", "Myrica gale", "Myriophyllum alterniflorum", "Myriophyllum spicatum", "Najas marina", "Nardus stricta", "Narthecium ossifragum", "Nasturtium microphyllum/officinale", "Neottia nidus-avis", "Neottia ovata", "Nitella flexilis", "Nitellopsis obtusa", "Noccaea caerulescens", "Noccaea perfoliata", "Odontites vernus s. serotinus", "Odontites vernus s.l.", "Odontoschisma sphagni", "Oenanthe lachenalii", "Ononis spinosa", "Ophioglossum vulgatum", "Ophrys insectifera", "Orchis anthropophora", "Orchis mascula", "Orchis militaris", "Orchis purpurea", "Orchis simia", "Origanum vulgare", "Ornithogalum umbellatum", "Ornithopus perpusillus", "Orobanche caryophyllacea", "Orobanche hederae", "Orobanche lutea", "Orthodontium lineare", "Oxalis acetosella", "Oxybasis glauca", "Oxybasis rubra", "Oxyrrhynchium pumilum", "Pallavicinia lyellii", "Palustriella commutata", "Parapholis strigosa", "Paris quadrifolia", "Parnassia palustris", "Pastinaca sativa s. sativa", "Pedicularis palustris", "Pedicularis sylvatica", "Pellia endiviifolia", "Pellia epiphylla", "Pellia neesiana", "Peltigera rufescens", "Persicaria amphibia", "Persicaria lapathifolia s.l.", "Petrorhagia prolifera", "Peucedanum palustre", "Phalaroides arundinacea", "Phleum arenarium", "Phleum pratense s.l.", "Phragmites australis", "Phyteuma spicatum ssp. nigrum", "Phyteuma spicatum ssp. spicatum", "Picris hieracioides", "Pilosella officinarum", "Pilosella peleteriana", "Pilularia globulifera", "Pimpinella major", "Pimpinella saxifraga", "Pinguicula vulgaris", "Pinus sylvestris", "Placidium rufescens", "Placynthiella uliginosa", "Plagiochila asplenioides", "Plagiomnium affine", "Plagiomnium cuspidatum", "Plagiomnium elatum", "Plagiomnium undulatum", "Plagiothecium denticulatum", "Plagiothecium laetum", "Plagiothecium nemorale", "Plantago coronopus", "Plantago lanceolata", "Plantago major s. intermedia", "Plantago maritima", "Plantago media", "Platanthera bifolia", "Platanthera chlorantha", "Platismatia glauca", "Pleurochaete squarrosa", "Poa angustifolia", "Poa bulbosa", "Poa compressa", "Poa nemoralis", "Poa palustris", "Poa pratensis", "Poa trivialis", "Pohlia nutans", "Polygala comosa", "Polygala serpyllifolia", "Polygala vulgaris", "Polygonatum multiflorum", "Polygonatum odoratum", "Polygonatum verticillatum", "Polypodium vulgare", "Polystichum aculeatum", "Polytrichastrum formosum", "Polytrichastrum longisetum", "Polytrichum commune", "Polytrichum juniperinum", "Polytrichum piliferum", "Potamogeton coloratus", "Potamogeton crispus", "Potamogeton friesii", "Potamogeton gramineus", "Potamogeton lucens", "Potamogeton natans", "Potamogeton nodosus", "Potamogeton perfoliatus", "Potamogeton polygonifolius", "Potamogeton trichoides", "Potentilla argentea", "Potentilla erecta", "Potentilla reptans", "Potentilla sterilis", "Potentilla supina", "Potentilla tabernaemontani", "Preissia quadrata", "Primula acaulis", "Primula elatior", "Primula veris", "Prunella vulgaris", "Prunus padus", "Prunus serotina", "Prunus spinosa", "Pseudocrossidium hornschuchianum", "Pseudoscleropodium purum", "Pseudotaxiphyllum elegans", "Psora decipiens", "Pteridium aquilinum", "Ptilidium ciliare", "Puccinellia distans s. borealis", "Puccinellia distans s. distans", "Puccinellia distans s.l.", "Puccinellia maritima", "Puccinellia pseudodistans", "Pulicaria dysenterica", "Pulicaria vulgaris", "Pyrola minor", "Pyrola rotundifolia", "Racomitrium canescens s.l.", "Radiola linoides", "Ranunculus acris", "Ranunculus auricomus", "Ranunculus bulbosus", "Ranunculus circinatus", "Ranunculus flammula", "Ranunculus lingua", "Ranunculus peltatus s.l.", "Ranunculus peltatus subsp. baudotii", "Ranunculus polyanthemos s. polyanthemoides", "Ranunculus polyanthemos s.l.", "Ranunculus polyanthemos ssp. nemorosus", "Ranunculus repens", "Ranunculus sardous", "Reseda lutea", "Reseda luteola", "Rhamnus cathartica", "Rhinanthus alectorolophus", "Rhinanthus angustifolius", "Rhinanthus minor", "Rhizomnium pseudopunctatum", "Rhodobryum roseum", "Rhynchospora alba", "Rhynchospora fusca", "Rhytidiadelphus squarrosus", "Rhytidiadelphus triquetrus", "Ribes nigrum", "Riccardia multifida", "Riccardia sinuata", "Rinodina griseosoralifera", "Rorippa palustris", "Rorippa sylvestris", "Rosa arvensis", "Rosa canina s.l.", "Rosa rubiginosa s.l.", "Rosa spinosissima", "Rubus caesius", "Rubus fruticosus", "Rubus idaeus", "Rumex acetosa", "Rumex acetosella", "Rumex conglomeratus", "Rumex maritimus", "Rumex obtusifolius", "Rumex obtusifolius s. transiens", "Rumex palustris", "Rumex sanguineus", "Rumex thyrsiflorus", "Ruppia maritima", "Sagina maritima", "Sagina nodosa", "Sagina procumbens", "Sagittaria sagittifolia", "Salicornia europaea sensu FvN 23", "Salicornia procumbens sensu FvN 23", "Salix alba", "Salix aurita x cinerea", "Salix caprea", "Salix cinerea", "Salix fragilis", "Salix gmelinii", "Salix purpurea", "Salix repens", "Salix triandra", "Salix viminalis", "Salsola kali", "Salvia pratensis", "Sambucus nigra", "Sambucus racemosa", "Samolus valerandi", "Sanguisorba minor", "Sanguisorba officinalis", "Sanicula europaea", "Saponaria officinalis", "Saxifraga tridactylites", "Scabiosa columbaria", "Scapania irrigua", "Scapania nemorea", "Schedonorus giganteus", "Schedonorus pratensis", "Scheuchzeria palustris", "Schoenus nigricans", "Scirpus lacustris", "Scirpus sylvaticus", "Scleranthus annuus", "Scleranthus annuus s. polycarpos", "Scleranthus perennis", "Scorpidium scorpioides", "Scorzonera humilis", "Scorzoneroides autumnalis", "Scrophularia auriculata", "Scrophularia nodosa", "Scutellaria galericulata", "Scutellaria minor", "Sedum acre", "Sedum rupestre", "Sedum sexangulare", "Selinum carvifolia", "Senecio nemorensis s. fuchsii", "Senecio sylvaticus", "Senecio viscosus", "Silaum silaus", "Silene baccifera", "Silene conica", "Silene dioica", "Silene flos-cuculi", "Silene latifolia s. alba", "Silene nutans", "Silene otites", "Silene vulgaris", "Solanum dulcamara", "Solidago virgaurea", "Sonchus arvensis", "Sonchus arvensis s.l.", "Sorbus aucuparia", "Sparganium angustifolium", "Sparganium emersum", "Sparganium natans", "Spartina anglica", "Spartina maritima", "Spergula morisonii", "Spergularia marina", "Spergularia media s. angustata", "Spergularia rubra", "Sphagnum angustifolium", "Sphagnum auriculatum", "Sphagnum compactum", "Sphagnum contortum", "Sphagnum cuspidatum", "Sphagnum fallax", "Sphagnum fimbriatum", "Sphagnum flexuosum", "Sphagnum magellanicum", "Sphagnum majus", "Sphagnum molle", "Sphagnum palustre", "Sphagnum papillosum", "Sphagnum pulchrum", "Sphagnum rubellum", "Sphagnum russowii", "Sphagnum squarrosum", "Sphagnum subnitens", "Sphagnum tenellum", "Spirodela polyrhiza", "Stachys officinalis", "Stachys palustris", "Stachys sylvatica", "Stellaria graminea", "Stellaria holostea", "Stellaria nemorum", "Stellaria pallida", "Stellaria palustris", "Straminergon stramineum", "Stratiotes aloides", "Stuckenia pectinata", "Suaeda maritima", "Succisa pratensis", "Symphytum officinale", "Syntrichia ruralis", "Tanacetum vulgare", "Taraxacum nordstedtii", "Taraxacum sect. Erythrosperma", "Taraxacum tortilobum", "Teesdalia nudicaulis", "Tetraphis pellucida", "Teucrium botrys", "Teucrium montanum", "Teucrium scordium", "Teucrium scorodonia", "Thalictrum flavum", "Thalictrum minus", "Thamnobryum alopecurum", "Thelypteris palustris", "Thuidium assimile", "Thuidium delicatulum", "Thymus praecox", "Thymus pulegioides", "Thymus serpyllum", "Tomentypnum nitens", "Torilis japonica", "Tortella flavovirens", "Tortula subulata", "Tragopogon pratensis", "Tragopogon pratensis s. pratensis/s. minor", "Tragopogon pratensis ssp. orientalis", "Trapeliopsis granulosa", "Trichophorum cespitosum s. germanicum", "Trichostomum crispulum", "Trifolium arvense", "Trifolium campestre", "Trifolium dubium", "Trifolium medium", "Trifolium pratense", "Trifolium scabrum", "Trifolium striatum", "Trifolium subterraneum", "Triglochin maritima", "Tripleurospermum maritimum", "Tripolium pannonicum", "Trisetum flavescens", "Typha latifolia", "Urtica dioica", "Utricularia australis", "Utricularia intermedia", "Utricularia minor", "Utricularia vulgaris", "Vaccinium myrtillus", "Vaccinium oxycoccos", "Vaccinium uliginosum", "Vaccinium vitis-idaea", "Valeriana dioica", "Valeriana officinalis", "Verbascum nigrum", "Veronica anagallis-aquatica", "Veronica austriaca s. teucrium", "Veronica catenata", "Veronica chamaedrys", "Veronica hederifolia", "Veronica hederifolia s. lucorum", "Veronica montana", "Veronica officinalis", "Veronica prostrata", "Veronica scutellata", "Veronica serpyllifolia", "Veronica verna", "Viburnum opulus", "Vicia cracca", "Vicia lathyroides", "Vicia sepium", "Vincetoxicum hirundinaria", "Viola canina", "Viola hirta", "Viola lutea s. calaminaria", "Viola odorata", "Viola palustris", "Viola reichenbachiana", "Viola reichenbachiana/riviniana", "Viola riviniana", "Viola rupestris", "Viola stagnina", "Viola tricolor subsp. curtisii", "Warnstorfia fluitans", "Xanthium orientale", "Zannichellia palustris s. palustris", "Zannichellia palustris s. pedicellata", "Zannichellia palustris s.l.", "Zygogonium ericetorum"] # lst2 = set([simplify_species(s) for s in lst]) # pd.Series(list(lst2)).sort_values().to_clipboard(index=False) diff --git a/src/preparation/settings.py b/src/preparation/settings.py index c6a0911..0a7c8ca 100644 --- a/src/preparation/settings.py +++ b/src/preparation/settings.py @@ -134,6 +134,7 @@ FILTERS = { PREPARED_DATA = { "prepared_headers": r"w:\projects\DOREN22\b_prepareddata\eva_headers\20230222-1254_eva_headers.csv", + "eva_species": r'W:\PROJECTS\DOREN22\b_prepareddata\eva_headers\20230222-1254_eva_species.csv' } BASE_OUT_DIRECTORY = r"w:\PROJECTS\DOREN22\\b_prepareddata\\eva_headers" -- GitLab