Diskussion:Open Functions: Unterschied zwischen den Versionen
(→GIS-Funktionen) |
(→GIS-Funktionen) |
||
Zeile 16: | Zeile 16: | ||
* Baustein Flächengrösse und Linien-Länge. | * Baustein Flächengrösse und Linien-Länge. | ||
* Baustein Koordinaten-Konversion CHLV03 nach CHLV95 | * Baustein Koordinaten-Konversion CHLV03 nach CHLV95 | ||
− | * Baustein 3D-Linie erzeugen aus 2D-Linie plus Geländemodell | + | * Baustein 3D-Linie erzeugen aus 2D-Linie plus Geländemodell (Höhenmodell) |
Mögliche Kategorien: | Mögliche Kategorien: |
Version vom 13. Juni 2007, 15:41 Uhr
Stichworte: Entkoppelung (von Software-Komponenten);
Abkürzungen und Begriffe:
- Interlis: "Zwischen den Land-Informationssystemen" (heute würde man das wohl 'Inter(g)IS' nennen)
- OF: Open Functions
- Open Functions Software
- 'Open Functions Pipeline Bus' (Bus alleine würde zu sehr Parallelität suggerien)
GIS-Funktionen
Beispiele typischer Funktionen (Bausteine):
- Baustein Mehrfach-Overlay-Berechnung (ÖREB).
- Baustein Buffer entlang Strassen.
- Baustein Text entlang Linien und Flächen (Label Placement).
- Baustein Grafikdarstellung erzeugen, z.B. Bandierungen oder Reben.
- Baustein Flächengrösse und Linien-Länge.
- Baustein Koordinaten-Konversion CHLV03 nach CHLV95
- Baustein 3D-Linie erzeugen aus 2D-Linie plus Geländemodell (Höhenmodell)
Mögliche Kategorien:
- Eingabe, Verarbeitung, Analyse, Präsentation (EVAP); Generisch
- Nach OGC
- Nach Huber
Liste feingranularer Basis-Funktionen:
- Räumliche Beziehungen/Prädikate (DE-9IM model): DISJOINT, TOUCH, EQUAL, CONTAINS, COVEREDBY
- Overlay functions (INTERSECTION, DIFFERENCE, UNION, SYMMETRIC DIFFERENCE)
- BUFFER
- CONVEX_HULL
- AREA and DISTANCE functions
- Topological validity checking
Der Open Functions Software Bus
Notizen von Geonick 14:16, 19. Mai. 2007 (CEST)
Der Open Functions Software Bus (OF-Bus) ist eine Software (Bibliothek), welche die Daten-Kommunikation (und Koordination?) zwischen Software-Komponenten (Module, Applikationen) übernimmt.
An diese Basisfunktionalität können Software-Komponenten 'eingeklinkt' werden. Quellen-Komponenten erzeugen Objekte (Ereignisse?) und speisen diese in den Software Bus ein. Senken/Empfänger-Komponenten klinken ebenfalls sich in den OF-Bus ein, um Objekte weiterzuverarbeiten (filtern, liften, forwarden) oder graphisch darzustellen. Objekte können effizient von vielen Quellen gleichzeitig an verschiedene Senken/Empfänger übertragen werden. Vor jedem Registrieren deklariert der Sender seine Datenaustauschstrukturen in einer deklarativen, selbstbeschreibenden Form (als XML-Interlis-Modelldaten).
Der OF-Bus ist als C++-Bibliothek implementiert.
- Open Functions und Modellbasierte Softwareentwicklung
- Die Interlis-Datenbeschreibung äussert sich nur zu den Datenstrukturen. Mit dieser Einschränkung kann Interlis als generische Domänensprache bezeichnet werden. tbd.
- Open Functions und pragmatische Softwareentwicklung
- tbd.
- Open Functions und Interlis
- Open Functions erweiter die "Interlis-Idee" der Nachhaltigkeit von Daten durch eine Software Architektur mit gemeinsamen Funktions-Schnittstellen. Der Einsatz von Interlis-Compiler und IOM ist in Komponenten denkbar uns sinnvoll... tbd.
- Open Functions und UML
- tbd.
- Open Functions und SOA (SOAP, WSDL...)
- Die OF-Objektbeschreibung ist ähnlich wie WSDL, jedoch auch konzeptionellerer Ebene. D.h. dass das Encoding ausgetauscht werden kann, wenn das erforderlich sein sollte; tdb.
- Open Functions, CORBA und RMI
- Im Ggs. zu CORAB/RMI sind im OF-Bus die Komponenten im selben Thread, es wird kein Broker benötigt. tbd.
- Open Functions und Messaging Services
- Im Unterschied zu Messaging Services sind im OF-Bus die Komponenten im selben Thread. Bei OF-Bus weiss der Sender etwas Bescheid über Standort und Art der Empfänger. Während dort die Frequenzen abgezählt sind, sind im OF-Bus beliebige Datenstrukturen möglich.
Komponenten
In Realisierung:
- CSV Import
Vorschläge:
- Import:
- Modellgesteuerter INTERLIS 2-Dateiformat Import mittels IOM.
- GeoRSS Import
- Export:
- KML Export
- WFS mit INTERLIS
- Datenbanken/Persistenzmechanismen:
- PostgreSQL