BlogMapsGISKontakt

Basisendpunkt der Schweizer Landesvermessung in Gimmiz

Ende Mai wurde in Gimmiz im Seeland das Vermessungsdenkmal "Basis im Grossem Moos" eröffnet. An dieser Stelle beginnt eine 13km lange Strecke bis nach Sugiez, die bis 1890 als Basis der Schweizer Landesvermessung diente. Sie wurde ab 1791 dreimal nach so präzise wie möglich vermessen und diente als Ausgangspunkt für die gesamte Schweizer Landesvermessung. Da dieser Basisendpunkt seit 1890 nicht mehr gebraucht wurde, geriet er etwas in Vergessenheit und verschwand im Ackerboden, bis er nun auf Initiative des Berner Heimatschutzes wieder ausgegraben, restauriert und zugänglich gemacht wurde. Vor ca. zwei Wochen bin ich nun mit dem Velo an diese Stelle geradelt, die mir vorher nicht bekannt war. Das Denkmal besteht nebem dem eigentlichen Basisendpunkt (einem Kalkpfeiler) aus einem verkleinerten Signal und einer Informationstafel, auf der alles Wissenswerte notiert ist. Alles in allem nicht besonders spektakulär, aber für jemanden wie ich, der an solchen Themen interessiert ist, allemal einen Besuch wert. Natürlich habe ich auch ein paar Fotos gemacht, die sind bei Flickr zu besichtigen. Weitere Infos zu dem Denkmal stehen in einem Flyer. Mal sehen, ob ich's diesen Sommer noch bis ans andere Ende dar Basislinie in Sugiez schaffe...
Ähnliche Beiträge:
Basisendpunkt der Landesvermessung in Sugiez
Wahlkartographie mit SVG
1. UNIGIS-Tag Schweiz
Gemeindegrenzen der Schweiz - Teil 2
WMS-Server in der Schweiz - Teil 4
Comments (0)  Permalink

Erstes optionales Modul

Das dritte UNIGIS-Modul nähert sich dem Ende (das Lösungsdokument muss ich allerdings noch einmal korrigieren und überarbeiten) und damit nähert sich auch der Zeitpunkt, ab dem ich optionale UNIGIS-Module belegen kann. Da ich nun nur noch 80% arbeite und das Collaborative Project auch noch nicht gestartet werden kann, will ich nun möglichst schnell mit einem ersten optionalen Modul beginnen. Mitte Juli haben drei Module einen Starttermin:  "Anwendungsentwicklung mit VBA und Python für die GIS-Praxis", " Geo-Applikationen mit Visual Basic" und "Fernerkundung". Vor einem halben Jahr hätte ich sicher noch das VBA/Python-Modul gewählt. Mittlerweile habe ich aber schon einige Projekte mit Python lösen müssen/können und einen entsprechenden ESRI-Kurs besucht (den ich mir dann hoffentlich auch für UNIGIS anrechnen lassen kann), so dass ich hier nur wenig neues Wissen erwarten kann. Das VB-Modul tönt auch sehr interessant, da es mir ermöglicht, die Programmierung von und mit und in Geomedia kennenzulernen. Auch das Fernerkundungs-Modul ist vielversprechend. Zwar hatte ich an der Uni die eine oder andere Fernerkundungsvorlesung, doch viel ist davon nicht haften geblieben. Ich habe mich dann spontan für das Fernerkundungsmodul entschieden, da ich hier sicherlich einiges dazulernen kann. Das VB-Modul wird ja noch mehrere Male angeboten, so dass ich dieses auch später noch belegen kann. Weitere Module, die noch in Frage kommen sind "Oracle Spatial", "Umweltmonitoring" (wird gerade überarbeitet) und "Euro-GIS". Diese Entscheidung muss ich aber zum Glück noch nicht jetzt treffen. Vorerst bin ich gespannt und freue mich auf das Modul "Fernerkundung".
Ähnliche Beiträge:
Master Thesis
UNIGIS Master Thesis Workshop
UNIGIS-Modul 9: Kartographie und Visualisierung
AGIT 2007
LBS Summer School
Comments (0)  Permalink

Geometric Network in ArcGIS

Letzthin war ich ziemlich stark damit beschäftigt, mit ArcGIS Analysen auf einem Gewässernetzwerk durchzuführen. ArcGIS kennt zwei Arten von Netzwerken: zum einen die geometrischen Netzwerke und zum anderen die komplexeren topologischen Netzwerke, für die die "Network Analyst Extension" benötigt wird. In diesem Fall reichte für die Analyse ein geometrisches Netzwerk aus. Konkret musste ich für einen Satz von Punkten auf dem Netzwerk (in diesem Falle Kläranlagen) den nächstliegenden Q347-Punkt ober- und unterhalb herausfinden. Dies konnte ich relativ leicht mit einer Tracing-Funktion erreichen. Dazu musste ich nur das Developer Sample "Next Upstream Device Task" umschreiben und anpassen. Dies arbeitet hauptsächlich mit dem ITraceFlowSolver-Interface und dort mit der Funktion FindFlowEndElements. Das Resultat dieser Funktion können allerdings mehrere Elemente sein (Flüsse vereinigen sich und können sich u.U. auch verzweigen), aus denen ich dann das am nächsten liegende herausfiltern musste (unter Einbezug der FindPath-Funktion des ITraceFlowSolver-Interfaces).

So weit so gut. Etwas komplizierter war die zweite Aufgabe. Für jeden der oben erwähnten Punkte musste ich berechnen, wieviele Kilometer Gewässernetz oberhalb liegen. Hierfür gibt es im ITraceFlowSolver2-Interface die Funktion FindAccumulation. Diese gibt als Resultat alle jene Gewässerabschnitte zurück, die oberhalb eines Punktes liegen. Hier begannen nun die Probleme. Im Prinzip ging es nun nur noch darum, die Länge aller jener Gewässerabschnitte zu berechnen. Die FindAccumulation-Funktion gibt nicht die normale Feature-ID der Gewässerabschnitte zurück sondern die Network-ID, welche nicht identisch zu sein braucht. Nun habe ich nach kurzer Durchsicht des Objektmodells eine vielversprechende Funktion gefunden. Das IGeometricNetwork-Interface bietet die Funktion GeometryForEdgeID, welche mir für jede Network-ID die dazugehörige Geometrie und damit auch die Länge zurückgibt. Und tatsächlich, damit konnte ich die gesuchte Gewässernetzlänge berechnen. Doch bei Punkten die relativ weit unten im Netzwerk liegen (z.B. am Unterlauf von Rhein, Aare oder Rhone) und somit eine sehr grosse Gewässernetzlänge oberhalb aufweisen, dauerte die Berechnung ziemlich lange (bis zu einer Stunde) oder ArcMap stürzte gar ohne Fehlermeldung ab. Zuerst vermutete ich das Probleme in der FindAccumulation-Funktion, da ich mir schon vorstellen konnte, dass auf dem recht detaillierten Gewässernetz eine solche Funktion recht viel Zeit in Anspruch nehmen konnte. In der "Utility Network Analyst Toolbar" gibt es jedoch den Task "Find Upstream Accumulation", mit dem ich ein paar dieser problematischen Berechnungen von Hand durchführte. Und dort dauerte dies jeweils nur wenige Sekunden, also konnte die Tracing-Funktion nicht das Problem sein. Damit wendete ich mich der GeometryForEdgeID-Funktion zu, die nun der Übeltäter zu sein schien. Als Ersatz fand ich das IEIDHelper-Interface, mit dem man für jede Network-ID ein IEIDInfo-Interface holen kann, welches das gesuchte Geometry-Attribut aufweist. Ein kurzer Test zeigte mir, dass auf diese Weise die Berechnung der Gewässernetzlänge nur wenige Sekunden dauerte. Dieser Weg war also der deutlich schnellere. Wahrscheinlich liegt es daran, dass die ursprünglich gebrauchte GeometryForEdgeID-Funktion im ganzen Netzwerk nach der übergebenen Network-ID sucht (keine Ahnung, ob hier ein Index existiert) -- immerhin besteht das Netzwerk aus mehreren Hunderttausend Abschnitten --, was deutlich langsamer ist als der Weg über das IEIDInfo-Interface.

Langer Rede kurzer Sinn: es lohnt sich, das Arcobjects-Objektmodell sehr genau zu studieren, und nicht immer die erstbeste Lösung zu verwenden. Meistens gibt es in ArcObjects immer mehrere Wege zum Ziel, die Herausforderung ist dann jeweils, den geeignetsten zu finden.
Comments (0)  Permalink
1-3/3