barbalex / ae3 Goto Github PK
View Code? Open in Web Editor NEWEigenschaften von Flora, Fauna, Moosen und Lebensräumen: Sichten, exportieren, importieren
Home Page: https://arteigenschaften.ch
License: Other
Eigenschaften von Flora, Fauna, Moosen und Lebensräumen: Sichten, exportieren, importieren
Home Page: https://arteigenschaften.ch
License: Other
Es gibt einen wahrscheinlich unerwünschten Effekt. Beispiel Alytes obstetricans (Geburtshelferkröte):
Das Taxon bzw. dessen Synonyme existieren in zwei Taxonomien:
Soweit so gut. Das ist erwartet und macht Sinn (meine ich). Ersteres ist im Formular wenig problematisch, weil der Betrachter beide Artwerte sieht. Und beim Export kann er wählen, aus welcher Eigenschaftensammlung der Artwert exportiert werden soll (2000, 2019 oder aktuell).
Das Problem besteht in der zusammenfassenden Eigenschaftensammlung "ZH Artwert (aktuell)". Hier sind beide Taxa enthalten. Will heissen:
Letzteres ist wohl nicht sinnvoll. Eigentlich sollte beim Synonym aus CSCF (2009) der aktuelle Artwert erscheinen (als Eigenschaft seines Synonyms). Z.B. wenn jemand eine Artliste auswerten würde, welche die ältere Taxonomie verwendet.
(Theoretisch gibt es auch Taxonomien, die nicht eindeutig als "älter" oder "neuer" bezeichnet werden können, praktisch haben sie in arteigenschaften.ch bisher keine grosse Bedeutung, beim GBIF hingegen schon)
Das gleiche Problem gibt es immer, wenn eine zusammenfassende Eigenschaftensammlung aktualisiert wird und zwischenzeitlich eine neue Taxonomie existiert. Also z.B. auch bei allen Flora-Arten und deren "ZH Artwert Flora (2020)". Am Beispiel von Pulsatilla vulgaris kann man es z.B. auch nachvollziehen.
Zusammenfassende Eigenschaftensammlungen gibt es bisher bei: Artwerten und Roten Listen.
Das Problem lässt sich lösen, wenn in zusammenfassenden Eigenschaftensammlungen entweder:
Der erste Ansatz ist einfach zu verstehen. Er ist auch resilient gegenüber Änderungen von Beziehungen zwischen Taxa, also wenn z.B. Synonymie neu beurteilt wird. Und: Ein Benutzer kann heute beim Export wählen, Informationen von Synonymen zu ignorieren. Das wäre dann immer noch möglich. Beim zweiten Ansatz müsste diese Option wohl entfernt werden, weil sie nicht mehr richtig funktionieren würde.
Der zweite Ansatz benötigt keine Anpassung der Datenstruktur. Dafür müssen die aktuellen Daten von zusammenfassenden Eigenschaftensammlungen von mir kontrolliert und angepasst werden. Sowie der Importvorgang neu programmiert werden. Und wenn es mal vorkommen sollte, dass In einer Taxonomie Beziehungen (Synonymie) verändert werden, müsste bei allen zusammenfassenden Eigenschaftensammlungen die Daten geprüft und angepasst werden. Wenn das vergessen wird, werden falsche Daten angezeigt und exportiert. Dieser Ansatz könnte auch versagen, wenn manuell (an der dafür programmierten Funktionalität vorbei) importiert wird.
Beide Ansätze sind aufwändig umzusetzen.
Ich würde daher den ersten Ansatz wählen. Umsetzung:
Der Aufwand ist leider recht gross. Geschätzt vier Arbeitstage.
Ich erhalte beim Versuch die Lebensräume als Tabelle zu exportieren keine Datensätze,
die Trockenwiesen funktionieren auch nicht alleine, evtl. wegen des zu langen Namens?
du hast recht, es lag an den langen Namen.
Ich habe es in der neuen Version 3.0.20 repariert, indem beim SQL-Aufruf Zeichenfolgen in den Namen ersetzt werden: https://github.com/barbalex/ae3/blob/main/src/sql/exportFunction.sql#L62
Die Reparatur läuft natürlich unter Unterhalt.
Das funktioniert. Jetzt. Mit den aktuell existierenden Lebensräumen bzw. ihren Namen. Das Problem kann aber sehr rasch wieder auftreten, wenn neue Taxonomien importiert werden. Denn dass irgendwo im SQL-Code Namen gekürzt werden müssen, ist nicht so intuitiv...
Besser bzw. nachhaltiger wäre folgende Lösung:
Diese Anpassung erachte ich als Erweiterung. Dafür bräuchte ich ca. 6 Stunden und einen entsprechenden Zusatzauftrag. Es pressiert natürlich nicht, jedenfalls nicht befor neue Lebensräume importiert werden.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.