Zum Hauptinhalt springen
Version: Preview

Punktfang

Der Punktfang steht beim Digitalisieren und Redlining zur Verfügung.

Vor Version 24.2.79

Die "Option Punktfang" greift nur für Layer, die dem System bekannt sind und die eingeschaltet sind. Es müssen die gleichen Bedingungen wie bei der Schnellsuche erfüllt sein: siehe https://help.mapedit.de/docs/dokumentation/MapEdit-AppBuilder/search-definitions/search-quick#men%C3%BCpunkt-alle-objektklassen-anzeigen.

Warnung

Der Punktfang funktioniert für Versionen vor 24.2.79 nur im Zusammenhang mit MapGuide-Karten.

Bitte beachten

Wenn der Punktfang nichts fängt, dann ist der Anklickpunkt mehr als 1 cm auf dem Bildschirm vom Mauszeiger entfernt.
Der Punktfang geht bei Linien und Flächen auf die Knotenpunkte.
Der Punktfang erfolgt erst nach dem klicken.

Wird der Punktfang eingeschaltet, dann erscheint eine Auswahlbox mit der Tabelle, auf die der Punktfang angewendet werden soll. Drücken Sie den "..." Knopf, um eine andere Tabelle zu wählen.
Die zuletzt ausgewählte Tabelle wird sich dabei jeweils je Generic Formular gemerkt.

Der Punktfang geht wenn er eingeschaltet auf alle Redlining Elemente und die gewählte Tabelle.

Bitte beachten

Wird keine Tabelle gewählt erfolgt der Punktfang nur auf Redlining Elemente. Der Punktfang wird, selbst wenn ein Tabellenname angezeigt wird nur auf die Tabelle angewendet wenn der Punktfang auch eingeschaltet ist.

In der Liste erscheinen jeweils nur die Tabellen von eingeschalteten Karten und nur die Tabellen von Karten, die dem System bekannt sind. Es müssen die gleichen Bedingungen wie bei der Schnellsuche erfüllt sein: siehe https://help.mapedit.de/docs/dokumentation/MapEdit-AppBuilder/search-definitions/search-quick#men%C3%BCpunkt-alle-objektklassen-anzeigen.

Drücken Sie Andere Tabelle im Auswahldialog, wenn Sie die gewünschte Tabelle nicht in der Liste sehen. Diese zeigt eine Liste aller Tabellen, aller dem Projekt bekannten Datenbanken an.
Dem Projekt ist eine Datenbank bekannt, wenn es im Ribbon einen Generic Dialog zu dieser gibt,eine Suche mit einer Datenbank eingebunden ist etc..

Bitte beachten

Wenn die Liste leer ist bzw. dort nur eine Tabelle erscheint, dann ist dem System die Karte nicht bekannt. Es müssen dazu die gleichen Bedingungen wie bei der Schnellsuche erfüllt sein: siehe https://help.mapedit.de/docs/dokumentation/MapEdit-AppBuilder/search-definitions/search-quick#men%C3%BCpunkt-alle-objektklassen-anzeigen.

Ab Version 24.2.163/25.1.32 werden, wenn keine Tabelle gefunden werden automatisch alle dem Projekt bekannten Tabellen angezeigt.

Bitte beachten

Wenn der Punktfang nichts fängt, dann ist der Anklickpunkt mehr als 1 cm auf dem Bildschirm vom Mauszeiger entfernt.
Der Punktfang geht bei Linien und Flächen auf die Knotenpunkte.
Der Punktfang erfolgt immer erst nach dem klicken.

Hinweis

Ab Version 26.1.116 wird auch beim Redlining die letzte gewählte Punktfang Tabelle bei jeder Sitzung wieder hergestellt.

Warum muss man vorab die Tabelle wählen?

Die MapEdit Desktop Grafik stellt Karte als Pixelbildern dar. Dies können vorgerenderte Kacheln z.B. aus MapGuide/MapServer sein, Satelliten Bilder/Luftbilder oder auch "Live" abgerufene Pixel Bilder aus MapGuide/MapServer etc.

All diese Bilder sind Pixel Bilder und enthalten keine Informationen darüber welche Objekte in der Grafik dargestellt sind. Man kann sich das wie eine Fotoaufnahme vorstellen, Sie sehen zwar Ihre Tante Erna im Foto aber das diese Ihre Tante Erna ist wissen nur Sie und am Foto sind keine weiteren Textuellen (Metadaten) Informationen dazu vorhanden. D.h. jemand anderes weis nicht wer da im Foto abgebildet ist.

D.h. um ein Objekt in der Grafik zu identifizieren, klickt der Anwender auf einen Pixel Punkt auf dem Bildschirm in der Nähe des Objektes. Diese Bildschirm Pixel Koordinate rechnet das System in Welt Koordinaten (Meter) um und durchsucht dann die angegebene Tabelle nach dem Objekt das am nächsten zu dieser Koordinate liegt.

Wenn man die Tabelle nicht vorgeben würde, dann müsste das System alle Tabellen der Datenbanken (oder gar mehrerer Datenbanken) durchsuchen. Diese ist geschwindigkeits Technisch sehr langsam und der Anwender müsste dann bei jedem Klick sehr lange warten.

Aber beim meinem CAD System muss ich doch die Tabelle auch nicht wählen?

Ein CAD System Arbeit nicht mit Pixel Bildern sondern mit Vektor Daten. also Linien, Punkte etc. die in den Hauptspeicher geladen werden. Dadurch sind dem CAD System ale Objekte genau bekannt und ein Punktfang ist dadurch direkt möglich.

Ein CAD kann jedoch nur mit "kleinen" Datenmengen sinnvoll umgehen. Nehmen wir an Sie zeigen die Stadt Berlin in ihrer Karte an und diese hat Millionen von Strassen, Häusern, Kanälen etc. Die Datenbank auf dem Server ist viele Terabyte gross. Das Laden all dieser Millionen Objekte würde sehr lange dauern und würde mehr sein als der Hauptspeicher ihres Rechners verkraftet.

D.h. ein CAD System ist ok wenn man wenige Datenmengen hat oder wenn man nur einen Ausschnitt der Datenmengen anzeigt. Damit verbunden ist jedoch das man nicht schnell zwischen den Daten Navigieren, also zoomen und verschieben, kann.

Aus diesem Grund verwenden System die schnell viele Daten anzeigen wollen wie z.B. Google Maps, Apple Maps und eben auch MapEdit Desktop Pixel Bilder und nicht Vektor Daten.

Ich will auf alle oder mehrerer Tabellen gleichzeitig fangen nicht nur auf eine

Erzeugen Sie einen View der alle Tabellen enthält auf die gefangen werden soll.

Gehen Sie im App Builder auf eine der Tabellen und klicken auf "View erzeugen" und legen Sie einen Union ALL Sql an exakt wie im Beispiel gezeigt.

Bitte beachten

Legen Sie den View exakt so an wie hier beschrieben, ansonsten kann es sein, dass die Spatial Indexe nicht verwendet werden und die Ausführung langsam wird.

Sie können so auch mehrere Views erzeugen je nach Situation.

Der Anwender kann diesen View dann bei "ANDERE TABELLEN" auswählen. Jeder Generic Dialog merkt sich die letzte Punktfang Einstellung und somit erscheint dieser dann beim nächsten mal wieder.

Ab Version 26.1.116 werden in der Liste auch alle Tabellen angezeigt, die das Wort "SNAP" im Namen haben. Geben Sie dem View einen Namen, der diese enthält, um zu erzwingen, dass der View sofort in der Liste steht. Nennen Sie den Titel des Views im App Builder z.B. "Alle" dann weiss der Anwender wozu dieser View gut ist und der Name erscheint ganz oben in der Liste, da die Liste Alphabetisch sortiert ist.