Mehr

Erstellen von Polygonebenen aus Punktebenen mit Conveks-Puffer

Erstellen von Polygonebenen aus Punktebenen mit Conveks-Puffer


Ich habe einen Punkt-Layer von >750000 Punkten, der Wohnungen mit Fernwärme darstellt.

Nun möchte ich Polygone für alle n Punkte mit einem Abstand von n Metern zum nächsten Punkt erstellen.

Ich habe einen Polygon-Layer von einer Gemeinde, aber die Polygone sind an einigen Stellen falsch.

Die Punkte außerhalb des gepunkteten Polygons sollten ein Polygon von sich selbst haben. Beachten Sie, dass dies nur ein sehr kleiner Bruchteil der Daten ist.

Es gibt auch Polygone, bei denen sich keine Punkte schneiden.

Meine Frage ist also: Gibt es irgendwie eine Funktion oder etwas anderes, die die Polygone für jedes zB. >=5 Punkte mit einem Abstand og zB. 10 Meter bis zum nächsten Punkt?

Ich habe es mit der konvexen Hüllenfunktion versucht, aber es funktioniert nicht, da ich die Punkte von Hand auswählen muss, da dieser Vorgang für den gesamten Datensatz ewig dauert.

Ich verwende QGIS 2.6


Versuche dies:

  • Installieren Sie R, und wenn Sie ein (etwas) mehr GUI-Stil wünschen, R-Studio
  • Öffnen Sie R (Studio) und führen Sie dieses Skript aus (ändern Sie es nach Bedarf) (es gibt eine Option, es Schritt für Schritt auszuführen, wenn Sie es vorziehen):
    # dbscan-Paket installieren install.packages("fpc") # Bibliotheksbibliothek laden (fpc) ​​# Plots setzen bg-color par(bg="grey80") # Ihre Punktdaten importieren = read.csv("/home/ymirsson/ R/projects/DBSCAN_Test/point_sample.csv",sep=";",header=T) # ein Arbeitsobjekt erstellen data2=data # alle Variablen löschen, die nicht zum Clustern der Punkte verwendet werden sollen data2$ID = NULL # plot points plot(data2) # DBSCAN clustering ausführen ds <- dbscan(data2, eps=100, MinPts=3, showplot=1) # einen Vektor mit der Clustervorhersage erstellen pre <- Predict(ds,data2) # der Vorhersage beitreten in Ihr Basisdatenobjekt exp <- data.frame(data,pre) # export write.table(exp, "/home/ymirsson/R/projects/DBSCAN_Test/point_sample_clustered.txt", sep="	")
    Hinweis: Das Clustering wird viel Zeit in Anspruch nehmen. Daher ist es möglicherweise besser, mit einer kleineren Stichprobe zu experimentieren, bis Sie Ihre Parameter für eps/min-Punkte haben.
  • Importieren Sie Ihre geclusterten Punkte in QGIS
  • Wählen Sie nur die mit "pre">0 (b/c dort Wille Ausreißer sein, und sie werden deine Polygone vermasseln ;) )
  • Führen Sie Vektor>Geoverarbeitungswerkzeuge>Konvexe Hüllen aus, nur mit Ihren ausgewählten Punkten und legen Sie Ihre Cluster-Variable fest
  • Wird nach etw aussehen. so was:
    oder gezoomt:
  • Vielleicht möchten Sie die Grenzen mit einem Puffer erweitern:

Bitte beachten Sie:

  • Mir ist keine QGIS-Implementierung von dbscan oder ein c&p-Python-Skript bekannt ... aber das bedeutet nicht, dass es nicht existiert, also können Sie vielleicht den R-Teil überspringen;)
  • Ich bin eher ein "Spaßbenutzer" in R und hauptsächlich für Datenstatistiken. Vielleicht gibt es ein besseres Skript und vielleicht kannst du die Polygone in R erstellen… ich weiß es nicht.


BEARBEITEN:
Die umgebenden Ränder der konvexen Hüllen sind sehr rau, daher schlage ich eine Verbesserungsidee vor:
Dies zeigt den "aktuellen" Zustand der resultierenden Polygone, die viel unnötigen Leerraum enthalten:

Idee:
Markieren Sie in einem nächsten Schritt die Umrisspunkte und identifizieren Sie sie (gegen den Uhrzeigersinn):

Erstellen Sie einen Linienvektor mit einem der Plugins "Punkt 2 Linie/Pfad":

Und in ein geeigneteres Polygon (inkl. Puffer) umwandeln:

Vergleich:

Mir ist kein Plugin bekannt, um die Outline-Punkte abzurufen, aber ich denke, es wäre nicht so das schwer, ein kleines Skript zu schreiben.


Extrapolation aktiver Schichtdickenmessungen über arktisches polygonales Terrain mit LiDAR und NDVI Datensätze

Landschaftsattribute, die mit der Mikrotopographie variieren, wie z. B. die Dicke der aktiven Schicht (ALT). Räumlich explizite Schätzungen von ALT kann dringend benötigte Daten für die Parametrisierung, Initialisierung und Bewertung von arktischen terrestrischen Modellen bereitstellen. In dieser Arbeit demonstrieren wir einen neuen Ansatz mit hochauflösenden Fernerkundungsdaten zur Schätzung der Zentimeterskala ALT in einem 5 km 2 großen Gebiet mit Eiskeil-Polygon-Gelände in Barrow, Alaska. Wir verwenden einen einfachen regressionsbasierten Datenfusionsalgorithmus mit maschinellem Lernen, der topografische und spektrale Metriken verwendet, die aus Multisensordaten (LiDAR und WorldView-2) abgeleitet werden, um zu schätzen ALT (2 m räumliche Auflösung) über das Untersuchungsgebiet. Vergleich der ALT Schätzungen mit bodengestützten Messungen, gibt die Genauigkeit (r 2 = 0,76, RMSE ±4,4 cm) des Anflugs an. Es ist zwar allgemein anerkannt, dass eine breite klimatische Variabilität in Verbindung mit einer steigenden Lufttemperatur die regionalen Durchschnitte von ALT, im Einklang mit früheren Studien zeigen unsere Ergebnisse mit hochauflösenden LiDAR- und WorldView-2-Daten, dass eine kleinere Variabilität in ALT wird durch lokale öko-hydro-geomorphe Faktoren gesteuert. Diese Arbeit zeigt einen Weg nach vorne für die Kartierung ALT mit hoher räumlicher Auflösung und über ausreichend große Regionen für ein verbessertes Verständnis und Vorhersagen der gekoppelten Dynamik zwischen Permafrost-, Hydrologie- und Landoberflächenprozessen aus leicht verfügbaren Fernerkundungsdaten.


Vektorebene

Punkt Vektorebenes: wie man Punkte auf einer Karte darstellt
Tutorial 2
Nachdem Sie nun eine Karte haben, möchten Sie bestimmte Punkte darauf anzeigen. Hier ist Point Vektorebenes wird nützlich sein. In diesem Tutorial werden wir versuchen, 6 europäische Städte darzustellen, die bei der Grand Tour besonders wichtig waren.

Klicken Sie auf Hinzufügen Vektorebene und wählen Sie die Datei data_points.shp aus. Klicken Sie mit der rechten Maustaste auf den Layer data_points und wählen Sie Attributtabelle öffnen. Wie Sie sehen, werden jetzt alle Spalten dauerhaft mit dem Vektorebene. Sie können auch sehen, dass es viele zusätzliche Spalten gibt, die wir entfernen können, um die Dinge zu bereinigen.

Gras schaffen VektorebeneS
Beispieldaten
Beispieldaten können über einen der Links heruntergeladen werden.

S
Diese Seite ist voll von kostenlosen Datenschichten für Massachusetts. Es hat Tiger Street Index, Volkszählungsdaten, Schwarz-Weiß-Orthos, Farborthos, Gebäude-Fußabdrücke, Kongress, Senat, Wahlbezirke des Repräsentantenhauses, Schulen usw. für den Bundesstaat Massauchusetts.

in Punktkarte (normalerweise 1 siehe Vektorintro für "Layer"-Konzept)
rsdriver: Treibername für Referenzsystemtabelle - DBMI SQL-Treiber (dbf, pg, mysql, sqlite usw.) .

Definieren Sie den Detaillierungsgrad (LOD)
Fernsichtbereich definieren
Legen Sie die Symbolgröße für die reale Welt fest.

S
Schema
Ermöglicht das Anzeigen, Generieren, Aktualisieren und Bearbeiten von Schaltplänen .

kann in einen von drei verschiedenen Datentypen exportiert werden (File- und Personal-Geodatabase-Feature-Class, Shapefile oder Spatial Database Engine-Feature-Class): .

sind ein häufiger Fehler, der entsteht, wenn zwei leicht falsch ausgerichtet sind

s werden überlagert (Abbildung 7.12 „Splitter“). Diese Fehlausrichtung kann verschiedene Ursachen haben, einschließlich Digitalisierungsfehlern, Interpretationsfehlern oder Quellkartenfehlern (Chang 2008).Chang, K. 2008. Introduction to Geographic Information Systems.

Jede genaue Punktposition im

schwimmt im Pixel der neuen Rasterebene, in die es jetzt gehört. Die genaue räumliche Lage der Punkte geht verloren, da sich die Punkte nun in viel größeren Bereichen befinden, die durch die Auflösung des Pixels bestimmt werden.

In vektororientierten Legacy-GIS-Produkten bezieht sich das Wort "Abdeckung" normalerweise auf a

s sind Zeichnungen in Manifold.

Abb. 26.13. Clipping von Vektorpolygonen mit einer Eingabe

aus dem ein Bereich extrahiert wird (a), das Vektor-Feature, dessen geometrische Eigenschaften als Maske verwendet werden (b) und (c) das abgeschnittene Vektor-Output-Feature. (Quelle: Liu und Mason, 2009) .

Karten können in verschiedenen Formaten und für unterschiedliche Verwendungszwecke zusammengestellt werden.[1] QGIS ermöglicht es, Karten aus Raster- oder

S. Typisch für diese Art von Software werden die Vektordaten entweder als Punkt-, Linien- oder Polygon-Feature gespeichert.

Raster: WMS/WMTS, OpenStreetMap, MapQuest, Stamen, Bing, statische Bilder usw.
Vektor: WFS, KML, GeoJSON, TopoJSON, GPX und IGC.
Heatmaps.
Machen

Topologie: Teilgebiet der Mathematik, das sich mit Eigenschaften von Oberflächen befasst, die sich bei Krümmung oder Verzerrung nicht ändern. Inklusion, Nachbarschaft und Konnektivität sind Beispiele für drei solcher Attribute.

s in GIS erfordern eine Topologiespezifikation.

Für die Qualität und Genauigkeit der Indoor-Karten werden von AABSyS Quality Assurance (QA)-Profis umfangreiche Qualitätsprüfungen und Fehlerbeseitigungen durchgeführt. Wichtige Punkte, die bei der QA/QC der Indoor-Karten berücksichtigt werden, umfassen die Prüfung auf fehlende

s, doppelte Features, Dangling Errors, Overshoots und Undershoots.

ERDAS IMAGINE ist eine Bildverarbeitungssoftware, die für Bildkartierung und -visualisierung, Bildverarbeitung und fortschrittliche Fernerkundung verwendet wird. Mit der IMAGINE Image-Erweiterung können Sie aus der Ferne erfasste Bilder in Ihr GIS integrieren

s durch direktes Laden von ERDAS IMAGINE .

Puffer werden häufig verwendet, um Zonen einer bestimmten Breite um Punkte, Linien und Polygone zu erstellen.
Zu den Vektorpufferungsoptionen gehören konstante oder variable Breiten, mehrere Ringe, Donuts, Rückschläge und Auflösung.
Allgemeine Geoverarbeitungsoperationen für einzelne Layer auf

s umfassen Auflösen, Zusammenführen, Anhängen, .

Der Feature-Cache erstellt eine lokale Kopie der Daten mit voller Auflösung, die beim Bearbeiten und Abfragen verwendet wird. Der Display-Cache wird von den meisten Arten von

s in einer Karte, während der Feature-Cache nur von Web-Feature-Layern verwendet wird. In den folgenden Schritten wird erläutert, wie Sie einen Funktionscache deaktivieren, aktivieren oder löschen.

wird häufig verwendet, um Rauschen zu entfernen und raue Kanten zu glätten. Bei 8-Bit-Graustufenbildern sind Schwellenwertbildung und Hintergrundentfernung Verarbeitungsschritte, um die Bildqualität für die Vektorisierung zu verbessern. Bei Farbbildern werden sie oft klassifiziert, um die Farben zu trennen, sodass jede Farbe in eine separate vektorisiert werden kann

Dies kann das Kombinieren vereinfachen

s aus verschiedenen Quellen. Vektordaten sind besser mit einer relationalen Datenbankumgebung kompatibel. Sie können als normale Spalte Teil einer relationalen Tabelle sein und mit einer Vielzahl von Operatoren verarbeitet werden. Beispiel für die Wirkung von Vektorgrafiken im Vergleich zu Rastergrafiken. .

eine Reihe von klar aufgezählten Listen im Hauptteil der Abschnitte, aber es ist auch von entscheidender Bedeutung, den kumulativen Charakter von Metadaten zu erkennen. Wenn das unmittelbare Anliegen eines Praktikers beispielsweise die Integration einer Reihe von Papierkarten in ein GIS ist, kann mithilfe eines Digitalisierers eine Reihe von Karten erstellt werden


1 Antwort 1

Ich kann vorschlagen, eine "virtuelle Ebene" über Ebene > Ebene hinzufügen > Virtuelle Ebene hinzufügen/bearbeiten zu verwenden.

Als Eingabe habe ich also drei angebotene Ebenen heruntergeladen, nämlich:

Beantwortung der @philsch-Frage in Kommentaren: "Wo/Wie kann ich den Code eingeben?"

Fügen Sie in QGIS 2 den Code ein und führen Sie dann Ok aus

Fügen Sie in QGIS 3 den Code ein und führen Sie dann Add . aus

Frage I. Für eine Grenzschicht.

Mit der folgenden Abfrage ist es möglich, eine Dummy-Variable zu erstellen, die 1 ist, wenn ein Bezirk an der Küste liegt, und 0, wenn nicht, einschließlich einer Entfernung vom Bezirk zur nächsten Küste.

Frage II. Für eine Flussschicht.

Mit der folgenden Query ist es möglich, eine Dummy-Variable 1 zu erstellen, wenn ein Fluss einen Bezirk durchquert und ansonsten 0 und für Flüsse mit Skalenrängen zwischen 1 und 5 .

Um eine eindeutige "ID" zu erstellen, verwenden Sie bitte @row_number in der Attributtabelle für ein neues Feld.

Vielen Dank. Da ich neu bei QGIS bin und bisher nur die Schnittstelle verwende, habe ich keine Erfahrung mit der Codierung. Daher meine Frage: Wo/Wie kann ich den Code eingeben?

Überprüfe es bitte noch einmal, ich habe es bearbeitet

Lass mich wissen, ob du damit umgehen kannst? andernfalls können andere Lösungen vorgeschlagen werden

Bisher stürzt QGIS beim Anwenden des Codes ab, daher weiß ich nicht, ob es funktioniert oder nicht. Das mit den USA zu machen ist nur ein Beispiel, eigentlich möchte ich das Verfahren für die ganze Welt!

Okay. Lass es mich mit deinen Daten versuchen. Wenn es Ihnen nichts ausmacht, werde ich QGIS 2 verwenden. Es wird die Ausgabe für QGIS 3 nicht ändern. Überprüfen Sie meine Updates, sobald ich fertig bin


Fuzzy-Zuverlässigkeit in räumlichen Datenbanken

Heutzutage ist es sehr schwierig, die Qualität von Geodatenbanken zu bewerten, vor allem wegen der Heterogenität der Eingabedaten. Wir definieren ein Fuzzy-Verfahren zur Bewertung der Verlässlichkeit einer Geodatenbasis: Das Untersuchungsgebiet wird in unzuverlässige Zonen unterteilt, die hinsichtlich Datenqualität und Umwelteigenschaften als homogene Zonen definiert werden. Wir modellieren eine räumliche Datenbank in thematischen Datensätzen Jeder thematische Datensatz betrifft eine bestimmte räumliche Domäne und umfasst eine Reihe von Layern. Wir schätzen die Zuverlässigkeit jedes thematischen Datensatzes und damit die Gesamtzuverlässigkeit der räumlichen Datenbank. Wir haben diese Methode am Geodatensatz der Stadt Cava de' Tirreni (Italien) getestet.

1. Einleitung

Fuzzy-Regel-basierte Modelle werden in Geographischen Informationssystemen (GIS) [1–3] angewendet und wir verwenden unseren bisherigen Ansatz [4, 5] zur Abschätzung der Zuverlässigkeit von Geodatenbanken. Dort wurde das Konzept der „Zuverlässigkeit“ von Geodaten als Fuzzy-Maß für die Qualität von Geodaten eingeführt, basierend auf der Analyse von Unsicherheit und Qualität der Daten. Streng genommen implementieren die Autoren in [5] ein Werkzeug namens (Fuzzy Spatial Reliability Analysis) Fuzzy-SRA [6] zur Untersuchung der Zuverlässigkeit der intrinsischen Vulnerabilität von Grundwasserleitern unter Verwendung des DRASTIC-Modells, das in einem GIS in [4] Fuzzy . gekapselt ist -SRA wird verwendet, um die Zuverlässigkeit des aerophotogrammetrischen Satzes geographischer Schichten der Insel Procida (in der Nähe von Neapel, Italien) zu schätzen, und in [7] wird Fuzzy-SRA in einem GIS-Tool zur Implementierung eines Fuzzy-Regel-basierten Systems zur Analyse verwendet das Ausbruchsrisiko des berühmten Vulkans Vesuv.

Als ersten Schritt müssen wir das geographische Untersuchungsgebiet in unzuverlässige Zonen einteilen, dh in Zonen mit (quasi) homogener Datenqualität und geografischen Merkmalen. Ein Experte legt die Eigenschaften in Bezug auf die Qualität jeder Schicht fest (z. B. den Prozentsatz der uncodierten Höhenpunktmerkmale). Jedes Merkmal, das als „Parameter“ bezeichnet wird, ist eine messbare Einheit, die sich auf die Qualität des Datensatzes auswirken könnte. Nach dem Berechnen des Wertes eines Parameters wird ein Fuzzifizierungsprozess angewendet, um die Qualität des Schichtsatzes abzuschätzen, wobei jeder Fuzzy-Satz durch eine dreieckige Fuzzy-Zahl (TFN) gegeben ist, die wiederum aus einem linguistischen Label identifiziert wird. Mit anderen Worten ist eine unzuverlässige Zone ein Teilbereich des Untersuchungsgebiets, in dem die Qualität der Geodaten homogen ist, d. h. die Werte der Parameter ähnlich sind und die gleichen geografischen Eigenschaften aufweisen (z. B. ein flaches Land).

Der Experte erstellt eine Fuzzy-Partition und beschriftet die TFNs mit linguistischen Labels (sagen wir)

(siehe z. B. Tabelle 3) für jeden Parameter. Eine unzuverlässige Zone ist dem linguistischen Label des entsprechenden TFN zugeordnet, für das der Zugehörigkeitsgrad des Parameters der höchste ist. Dieser Prozess wird für jeden Parameter jeder Schicht wiederholt. Die jedem Parameter zugeordneten Elemente von Fuzzy-SRA sind Fuzzy-Attribute, die durch eine Zeichenfolge dargestellt werden. Um zu verdeutlichen, wie sich diese Strings zusammensetzen, nehmen wir nun als Beispiel an, dass wir das Untersuchungsgebiet in 5 unzuverlässige Zonen unterteilt haben,

daher erstellen wir eine Fuzzy-Partition des Domänendiskurses des Parameters

in 6 Fuzzy-Sets mit jeweils linguistischen Labels,

. Nach dem Fuzzifizierungsprozess ordnen wir jede isozuverlässige Zone einem TFN zu, wie in Tabelle 1 gezeigt.

Für den Parameter wird ein String erstellt

wobei das Symbol „−“ das Fehlen unzuverlässiger Zonen anzeigt, die dem entsprechenden TFN zugeordnet werden können.

Nun nehmen wir an, eine Partition in vier TFNs der Domäne eines zweiten Attributs zu erstellen und die entsprechende Zeichenfolge zu erhalten

. Die Kombination der beiden Saiten und erfolgt mittels der neuen Operation “

(Details sind in [6] und in Abschnitt 2.1 angegeben) definiert als

In dieser Zeichenfolge werden auch neue TFNs erhalten, die mit gekennzeichnet sind. Generell gilt, wenn (bzw.

) ist die Anzahl der TFNs für den String (bzw. ), dann enthält der String (

) TFN. Die für jede Schicht erhaltenen Zeichenfolgen werden wie in (2) rekombiniert, um eine endgültige Zeichenfolge zu erhalten, die zum Bewerten der Zuverlässigkeit des gesamten Schichtsatzes verwendet wird. Zum Beispiel können wir (siehe [4] für Details) vier aerophotogrammetrische Schichten betrachten, wie in Tabelle 2 angegeben.

Nach der Berechnung der Strings für jede Schicht werden sie erneut mit dem Operator (2) kombiniert, um einen endgültigen String zu erhalten. In diesem Kalkül wird jeder Schicht eine Gewichtung zugeordnet, die sich auf die Rolle dieser Schicht in der räumlichen Datenbank bezieht. Beispielsweise kann ein Layer „Gebäude“ in Bezug auf den Layer „Infrastrukturen“ relevanter sein, als die Qualität des ersten Layers die Zuverlässigkeit der räumlichen Datenbank stärker beeinflusst als der zweite.

Es ist eine weitere Frage zu berücksichtigen, die darin besteht, dass sich das einem Attribut zugeordnete Gewicht für verschiedene Isozuverlässigkeitszonen ändern kann. So beeinflusst die Qualität des Datensatzes „Spot Elevation“ die Zuverlässigkeit der Geodatenbasis in Zonen mit starken Neigungen stärker als in geglätteten Zonen. Nach der Zuweisung der Gewichte ist der letzte String neu zu berechnen, wie in Abschnitt 2.3 gezeigt. Der jeder unzuverlässigen Zone zuzuordnende Zuverlässigkeitsindex wird durch den zentralen Wert der TFN angegeben, in der diese Zone in der letzten Zeichenfolge auftritt.

In unserer Methode modellieren wir eine räumliche Datenbank in drei hierarchischen Ebenen: räumliche Datenbank, thematischer Datensatz und Schicht. Eine räumliche Datenbank besteht aus mehreren thematischen Datensätzen (z. B. Geologie, Hydrologie usw.). Jeder thematische Datensatz enthält mehr thematische Ebenen (Abbildung 1).


Unsere Methode beginnt mit der Betrachtung der Schichtebene und weist jeder Schicht die einzelnen Parameter zu. Nachdem die Strings für jede Schicht eines thematischen Datensatzes bestimmt wurden, werden sie mit Formel (2) kombiniert, um nacheinander den endgültigen String des thematischen Datensatzes zu erhalten. Dieser String wird unter Berücksichtigung der jeder Schicht zugewiesenen Gewichtungen neu berechnet. Nachdem wir die endgültigen Strings jedes thematischen Datensatzes berechnet haben, kombinieren wir diese Strings, indem wir erneut Formel (2) verwenden, und wir erhalten den endgültigen String für die gesamte räumliche Datenbank. Diese Zeichenfolge muss unter Berücksichtigung der jedem thematischen Datensatz zugewiesenen Gewichtungen neu berechnet werden.

Für jede isozuverlässige Zone erhalten wir dann den entsprechenden isozuverlässigen Index, indem wir den zentralen Wert der TFN bezogen auf diese Zone in der letzten Zeichenfolge verwenden. Wir testen unsere Methode unter Berücksichtigung der räumlichen Datenbank der Stadt Cava de’ Tirreni in der Nähe von Salerno (Italien).

In Abschnitt 2 präsentieren wir die in [6] gegebene algebraische Struktur. Abschnitt 3 enthält unsere Methode, Abschnitt 4 enthält die Ergebnisse unserer Tests und Abschnitt 5 enthält Schlussfolgerungen.

2. Definition der algebraischen Struktur

2.1. Die Operationen

Wir erinnern uns an die Haupteigenschaften der in [6] angegebenen algebraischen Struktur. Lassen

sei das Universum des Diskurses und

ein geordnetes -Tupel linguistischer Labels, die sich jeweils aus einem oder mehreren linguistischen Modifikatoren und einer Variablen zusammensetzen, wie zum Beispiel „ = False“, „ = More or Less Good“, …,“

= Gut“, „ = Sehr Gut“, …,“ = Vollständig Gut“, und jeweils dargestellt durch geeignete TFNs, die auch mit , bezeichnet werden (siehe z. B. Tabelle 3). Sei ein Fuzzy-Attribut, also eine Karte

, dargestellt durch eine Zeichenfolge des folgenden Typs:

wobei ist eine Teilmenge von , in der Fortsetzung auch „Klasse“ genannt. Ob

, dann schreiben wir . Sei ein weiteres Fuzzy-Attribut, das durch die folgende Zeichenfolge dargestellt wird:

wobei die verwendeten Symbole eine ähnliche Bedeutung wie die obigen haben. Gemäß [6] definieren wir die Operation zwischen und durch Einstellen von

ohne Beschränkung der Allgemeinheit ergeben sich die Teilmengen aus den folgenden Formeln für :

Wie in [6] vorgeschlagen, sind die Teilmengen cich kann mit einer einfachen Regel berechnet werden, die auf der üblichen arithmetischen Multiplikation basiert. Die TFNs für , sind tatsächlich gegeben durch

mit den obigen Koeffizienten , für , definiert durch

Der Index (bzw., ) stellt die Anzahl der Teilmengen (bzw., ) der Zeichenfolge (bzw., ) dar, die an der Vereinigungsoperation beteiligt sind, die ausgeführt wird, um die Teilmengen des resultierenden Fuzzy-Attributs zu erhalten, während der Index (bzw., ) steht für die Gesamtzahl der Teilmengen von (bzw. von ), die an der Schnittoperation beteiligt sind, die die Teilmengen von ergibt.

2.2. Die Gewichte der Attribute

Der erste Schritt, der den oben erwähnten Operationen über die Strings vorausgeht, besteht in der Bestimmung der Gewichte jedes Attributs, das mit einer festen Zone verbunden ist, da sie durch die Änderung der Zone variieren können. Streng genommen impliziert das obige Modell die Notwendigkeit, einen Mittelwert der Gewichte der Zonen zu bilden, die die gleiche linguistische Bezeichnung in einem Attribut haben. Dieser Mittelwert ist das Gewicht dieses linguistischen Etiketts, das wiederum mit dem Mittelpunkt des TFN multipliziert wird, das dasselbe Etikett repräsentiert, was eine Zahl ergibt

, von denen wir die kleinste darin enthaltene ganze Zahl betrachten, d.h.

. Rechts neben dem gleichen linguistischen Label erzeugen wir also -linguistische Labels „angenähert“ mit dem Verfahren von Abschnitt 2.3. Als Beispiel betrachten wir sechs Zonen, in denen das Fuzzy-Attribut sechs Werte mit den zugehörigen Gewichten erhalten hat

gemäß Tabelle 3. Wenn dann , dann wird das Fuzzy-Attribut durch die folgende Zeichenfolge dargestellt:

und betrachten Sie die sprachliche Bezeichnung . Der Einfachheit halber bezeichnen wir mit W1i die Gewichtung des Attributs für die Zonen mit . Dann ist der Mittelwert für gleich 2, zu multiplizieren mit 1.0 (vgl. Tabelle 2) und ergibt

was die Anzahl der neuen linguistischen Labels darstellt, die rechts von eingefügt werden. Andere neue linguistische Bezeichnungen sollen rechts von den drei verbleibenden Bezeichnungen nicht eingefügt werden, da wir mit offensichtlicher Bedeutung der Symbolik

, , und Erhalten von , , und . Dann erhalten wir die folgende feinere Zeichenfolge für das Attribut :

Diese Methodik bietet den Vorteil, die Position der Objekte (in unserer Fallstudie die isoreliablen Zonen) in der Menge der Attribute zu verbessern, nur unter Berücksichtigung der neuen linguistischen Labels, mit denen die Objekte verknüpft werden können. Die Berechnung der Zugehörigkeitsfunktionen für die TFNs, die die neuen linguistischen Labels darstellen, erfolgt auf folgende Weise.

Sei das betrachtete linguistische Label, das im Attribut vorhanden ist

und sei die Anzahl der neuen linguistischen Labels, die mit dem obigen Verfahren erhalten wurden. Sei das linguistische Label, das in den linguistischen Labels von unmittelbar folgt. Für jeden

und ähnlich für und . Dann ist der TFN Vertreter des linguistischen Labels.

2.3. Approximation der linguistischen Labels

Einige im letzten Fuzzy-Attribut erhaltene TFNs müssen nach der sukzessiven Zusammensetzung mehrerer Strings wieder in linguistische Labels umgewandelt werden, die unter Verwendung des folgenden Verfahrens an bekannte TFNs angenähert werden können.

Sei der zu approximierende TFN und , TFNs bekannt (d. h. die Bedeutung ihrer linguistischen Labels ist bekannt), so dass . Durch Setzen von und if , setzen wir if

, dann sagen wir „Next To“ und schreiben if , dann sagen wir „Included Between and“ und schreiben

wenn, dann sagen wir „Before To“ und schreiben if, dann setzen wir. Berücksichtigen Sie beispielsweise die TFNs von Tabelle 3, wie in Abschnitt 2.1. Seit und ist das leicht zu erkennen.

Wir weisen darauf hin, dass in diesem Verfahren kein Vergleich zwischen , , und und in ähnlicher Weise für , und erforderlich ist.

3. Fuzzy-Zuverlässigkeit für räumliche Datenbanken

Wir modellieren a räumliche Datenbank in einer dreistufigen hierarchischen Struktur, wie in Abbildung 1 gezeigt. Die räumliche Datenbank besteht aus thematische Datensätze als spezifische räumliche Domänen bezeichnet. Jeder thematische Datensatz besteht aus Schicht, d. h. von georeferenzierten Vektoren oder Rasterthemen.

Wie in [4] verwenden wir nach dem Anwenden der algebraischen Struktur auf die jedem Parameter entsprechenden Strings und der Neuberechnung des endgültigen Strings unter Berücksichtigung der den Parametern zugewiesenen Gewichtungen den algebraischen Strukturoperator erneut, indem wir ihn auf die den Layern eines Themas zugeordneten endgültigen Strings anwenden Datensatz und Neuberechnung der erhaltenen endgültigen Zeichenfolge unter Berücksichtigung der diesen Schichten zugeordneten Gewichtungen. Um den Zuverlässigkeitsindex der räumlichen Datenbank zu erhalten, wenden wir den Operator der algebraischen Struktur auf die jedem thematischen Datensatz zugeordneten Endstrings an und berechnen den erhaltenen Endstring unter Berücksichtigung der jedem thematischen Datensatz zugewiesenen Gewichtungen neu. Daher schätzen wir die Zuverlässigkeit der räumlichen Datenbank in jeder isozuverlässigen Zone und wenden die Berechnung auf die algebraische Struktur wie in Abschnitt 2 beschrieben in jeder Ebene unseres räumlichen Datenbankmodells an. Im Folgenden beschreiben wir die einzelnen Schritte, aus denen unsere Methode besteht. (1) Der Sachverständige erstellt eine Unterteilung des Untersuchungsgebiets in nicht verlässliche Zonen jede nicht verlässliche Zone ist ein geografisches Gebiet, das hinsichtlich Datenqualität und Umwelteigenschaften homogen ist. (2) Für jede Schicht werden die Parameter identifiziert, dh die Observablen, die die Qualität der Schicht beeinflussen, und jeder unzuverlässigen Zone werden die Labels der entsprechenden TFNs und die Gewichte jedes Parameters zugewiesen. Der Experte erstellt eine Fuzzy-Partition in TFNs der Domäne jedes Parameters. (3) Für jede Schicht wird der Operator der algebraischen Struktur [6] auf die Parameter angewendet, wodurch eine neu zu berechnende endgültige Zeichenfolge (wie in Abschnitt 2.2 beschrieben) unter Berücksichtigung der den gleichen Parametern zugewiesenen Gewichte erhalten wird. Wir erhalten die Zuverlässigkeitsindex jeder Schicht nennen wir die Karte dieses Index die Zuverlässigkeitskarte der Schicht. (4) In jedem thematischen Datensatz werden seine Layer als Parameter identifiziert. Der einem Layer zugeordnete String wird durch den für diesen Layer berechneten endgültigen String angegeben. Für jede unzuverlässige Zone weist der Experte die Gewichte jeder Schicht zu, wobei die Auswirkungen der Schicht auf die Qualität ihres thematischen Datensatzes berücksichtigt werden. (5) Für jeden thematischen Datensatz wird der Operator der algebraischen Struktur [6] auf die zugehörigen Strings angewendet, indem man einen endgültigen String erhält, der neu berechnet werden muss (wie in Abschnitt 2.2 beschrieben), indem die den gleichen Layern zugewiesenen Gewichte berücksichtigt werden. Wir erhalten die Zuverlässigkeitsindex und die entsprechende Zuverlässigkeitskarte des thematischen Datensatzes. (6) Nun identifizieren wir als Parameter die thematischen Datensätze der räumlichen Datenbank. Der einem thematischen Datensatz zugeordnete String ist durch den für diesen thematischen Datensatz berechneten endgültigen String gegeben. Der Experte weist jeder unzuverlässigen Zone die Gewichte jedes thematischen Datensatzes zu, wobei die Auswirkungen der Schicht auf die Qualität der räumlichen Datenbank berücksichtigt werden. (7) Der Operator der algebraischen Struktur [6] wird auf die jedem thematischen Datensatz zugewiesene Zeichenkette angewendet, um eine endgültige Zeichenkette zu erhalten, die neu berechnet werden muss (wie in Abschnitt 2.2 beschrieben), indem die den gleichen thematischen Datensätzen zugewiesenen Gewichtungen berücksichtigt werden. Wir erhalten die Zuverlässigkeitsindex und die zugehörige Zuverlässigkeitskarte der räumlichen Datenbank.

In Abschnitt 4 präsentieren wir die Ergebnisse, indem wir unsere Methode auf eine räumliche Datenbank basierend auf dem Tool Fuzzy-SRA anwenden.

4. Testergebnisse

In unseren Tests wird das Studiengebiet von der Stadt Cava de’ Tirreni (Italien) angegeben. Unter Berücksichtigung der Datenqualität und der Umwelt- und Klimaeigenschaften wird das Untersuchungsgebiet in fünf unzuverlässige Zonen unterteilt, wie in Abbildung 2 dargestellt.


Wir betrachten die wichtigsten thematischen Datensätze und Layer der räumlichen Datenbank. In unserem Test betrachten wir 5 thematische Datensätze. In Tabelle 5 zeigen wir die thematischen Datensätze und die für jede Schicht gewählten Parameter.

Bei der Wahl der Parameter wurde besonderes Augenmerk auf das Fehlen von Primärinformationen in Verbindung mit geografischen Einheiten (z. B. Gebäudehöhe oder Punkthöhe) gelegt.

Andere Eigenschaften, die die Qualität eines Layers beeinflussen, sind geometrische und topologische Fehlerarten (isolierte Straßenlinien oder Partikel, die sich dazwischen schneiden).

Zur Vereinfachung der Berechnung erstellen wir für jeden Parameter eine Fuzzy-Partition in fünf TFNs, beschriftet wie in Tabelle 3. Der Kürze halber zeigen wir nur die eingestellten TFNs für den Parameter „Dichte der isolierten Linien“ des Layers 1.1 street und für den Parameter „Dichte der sich schneidenden Polygone des Layers 2.1 – Geländeparzellen.“

Für jede unzuverlässige Zone werden die Gewichte der Parameter von einem Experten zugewiesen. Der Kürze halber zeigen wir die Gewichtung, die den beiden vorherigen Parametern für jede unzuverlässige Zone zugewiesen wurde.

Nach dem Kombinieren der Strings, die sich auf jeden Parameter einer Ebene beziehen, erhalten wir einen endgültigen String, der unter Berücksichtigung der den gleichen Parametern zugewiesenen Gewichtungen neu berechnet wird. Durch die Verwendung dieses Strings erhalten wir die Zuverlässigkeitskarte des Layers. Der Kürze halber zeigen wir unter Berücksichtigung der Tabellen 4, 6, 7, 8, 9 die Isozuverlässigkeitskarten für die Schichten 1.1 (Abbildung 3) und 2.1 (Abbildung 4) mit jeweils der Endzeichenfolge


Hydrologische Modelle im großen Maßstab sind sowohl hinsichtlich der Speicherzuweisung als auch der CPU-Zeit anspruchsvoll, insbesondere wenn eine Bewertung der Modellierungsunsicherheit erforderlich ist. High Performance Computing bietet die Möglichkeit, Auflösungen zu erreichen, die mit standardmäßiger serieller Codierung nicht erreichbar sind. Die Vorteile können jedoch durch eine schlechte Skalierbarkeit des Modells aufgrund von Komponenten, die in Serie ausgeführt werden müssen, wie z. B. das Vorhandensein von hydraulischen Infrastrukturen, aufgewogen werden.

Aus dieser Motivation heraus entwickelten wir HYPERstreamHS, ein Modell, das einen ganzheitlichen Ansatz verfolgt, um hydrologische Prozesse in großen Flusseinzugsgebieten mit durch hydraulische Infrastrukturen veränderten Strömungen zu simulieren. Das Modell verwendet eine zweischichtige Parallelisierungsstrategie, wobei die parallelisierte Version des hydrologischen Kernels die erste Schicht ist und die zweite Schicht die inverse Modellierung übernimmt.

Die Ergebnisse zeigen, dass die Prozessoren sorgfältig organisiert und gruppiert werden sollten, um die beste Gesamtleistung zu erzielen, und legen nahe, dass diese Unterteilung problemspezifisch ist.


Die Datei autzen.laz ist ein Grundnahrungsmittel in PDAL- und libLAS-Beispielen. Wir werden diese Datei verwenden, um Clipping-Punkte mit einer Geometrie zu demonstrieren. Wir werden das Stadion in eine neue LAS-Datei ausschneiden.

Datenaufbereitung¶

Die Daten werden in zwei verschiedenen Koordinatensystemen gemischt. Die LAZ-Datei befindet sich in Oregon State Plane Ft. und das GeoJSON, das die Polygone definiert, attribute.json , befindet sich in EPSG:4326. Wir haben zwei Möglichkeiten – projizieren Sie die Punktwolke in das Koordinatensystem der Attributpolygone oder projizieren Sie die Attributpolygone in das Koordinatensystem der Punkte. Letzteres ist in diesem Fall vorzuziehen, da es weniger Mathematik und daher weniger Berechnung erfordert. Um es bequem zu machen, können wir die VRT-Funktion von OGR nutzen, um die Daten für uns im laufenden Betrieb neu zu projizieren:

Diese VRT-Datei ist in Ihren Workshop-Materialien in der Datei ./exercises/analysis/clipping/attributes.vrt verfügbar. Sie müssen diese Datei öffnen, zu Zeile 4 gehen und ./ durch den richtigen Pfad für Ihren Computer ersetzen.

Eine GDAL- oder OGR-VRT ist eine Art „virtueller“ Datenquellendefinitionstyp, der eine Datendefinition und einen Verarbeitungsvorgang in einem einzigen lesbaren Datenstrom kombiniert.

Die GeoJSON-Datei hat kein extern definiertes Koordinatensystem, daher legen wir explizit eines mit dem LayerSRS-Parameter fest. Wenn Ihre Daten Koordinatensysteminformationen enthalten, müssen Sie dies nicht tun. Weitere Informationen finden Sie in der OGR VRT-Dokumentation.

Pipeline-Aufschlüsselung¶

Diese Pipeline ist in Ihren Workshop-Materialien in der Datei ./exercises/analysis/clipping/clipping.json verfügbar. Denken Sie daran, jedes der drei Vorkommen von ./ in dieser Datei durch den richtigen Speicherort für Ihren Computer zu ersetzen.

1. Leser¶

autzen.laz ist die LASzip-Datei, die wir ausschneiden werden.

2. filter.overlay ¶

Mit dem Filter filter.overlay können Sie Werte für zusammenfallende Polygone zuweisen. Unter Verwendung der VRT, die wir in Datenvorbereitung definiert haben, weist filter.overlay die Werte aus der CLS-Spalte dem Klassifizierungsfeld zu.

3. filter.range ¶

Die Attribute in der Datei attribute.json enthalten Polygone mit den Werten 2 , 5 und 6 . Wir werden filter.range verwenden, um Punkte mit Klassifizierungswerten im Bereich von 6:6 zu halten.

4. Schriftsteller¶

We will write our content back out using a writers.las .

Execution¶

Invoke the following command, substituting accordingly, in your Conda Shell :

The –nostream option disables stream mode. The point-in-polygon check (see notes) performs poorly in stream mode currently.


How to build your own QGIS plugin

first test with values in the plugin and the python console

Since I’ve created the QGIS plugin qgis2leaf I was surprised how easy it is to create a plugin for QGIS. In this post I would like to show you how to build a basic buffer-plugin and give some tips for debugging and developing.

The plugin template

QGIS plugins are competely build in Python: the UI can be designed with QT designer using PyQT. The whole logic of the plugin needs to be written in Python as well. But lets be honest: It would be great if you would have a starting point. In QGIS there is a plugin for this called Plugin Builder:

The plugin builder will create a template for your plugin. So provide the information like this:

setting for our basic plugin example in the plugin builder

After pressing okay please choose the qgis plugin folder as the target folder (/home//.qgis2/python/plugins on Linux, C:Users{username>.qgispythonplugins on Windows )

After running the plugin we have a separate folder in our qgis plugin folder:

folder content after plugin template creation

But unfortunately we are not really finished as the plugin responses several other steps:

  • Copy the entire directory containing your new plugin to the QGIS plugin directory (CHECK)
  • Compile the resources file using pyrcc4 (simply run machen if you have automake)
    • open the terminal go to the plugin folder and type make in this folder on linux (how this works in Windows? comment!)
    • if you dont have pyrcc4 isntalled, type

    • Customize it by editing the implementation file multi_buffer_module.py
    • Create your own custom icon, replacing the default icon.png
    • Modify your user interface by opening multi_buffer_class.ui in Qt Designer
    • Du kannst den ... benutzen Makefile to compile your resource files when you make changes. This requires GNU make (gmake)

    As the plugin says: customize it

    Implementing logic in your qgis plugin

    In our first example we would like to place some logic in the plugin: with the normal methods provided by QGIS it’s easy to create a buffer around a feature. But what, if you want several buffers that are equidistant from each other like 5 buffer zones in a distance of 10m? A classic example of batch processes and automation.

    The whole logic will be put in the file multi_buffer_module.py. At the moment it is very basic as it is defined at the bottom of the file:

    As you can see the first function is to show the dialog. For our purpose we need two input parameters: the number of buffer zones to be created and the distance one buffer should use. So let us open the dialog and create those input fields. Therefore we use QT4 designer and open the file multi_buffer_module_dialog_base.ui:

    After customizing the UI we will care about the logic to get the parameters from the UI and use it in our plugin. To test the functionality it is very important to have the Plugin Reloader plugin installed so you don’t need to close and open QGIS after each change of the logic.

    First of all we are interested in the values of the given parameters of the UI. This means we will change the above code like this:

    As you can see: I am using the python console in QGIS to check whether my parameters are filled correctly:

    first test with values in the plugin and the python console

    So now we need to use this values for creating a buffer zones. So let’s check the bible of pyqgis called PyQGIS Developer Cookbook. First of all we need to have an idea how to use a selected feature of a layr as the input for a buffer creation. With a short look into this great resource we see that we can define a current active layer with this

    Compaing the code we have a structure called dlg wich holds all the dioalog elements and a structure called iface which refers to the current qgis environment as far as I have understand it.
    As we don’t want to use the whole layer but just selected features we need to to define those as well with

    As we now have the features to create buffers around and the paramaters to use we can start. But we need to create a loop to create a buffer zone after another (according to the number of buffers) and we need to create a layer to store the data…
    The targeting layer is defined by [sourceocde]result = QgsVectorLayer(“Polygon?crs=epsg:4326”, “result”, “memory”)[/sourcecode]
    As you can see the layer name is given, the EPSG is fixed to EPSG:4326 (WGS 84) and the layer will be stored in memory, so you need to save it by hand afterwards. Now we want to have each layer name different so we will be able to distinguish the polygons after the creation. so we will change this line to

    As I’ve mentioned we don’t know how many features were selected. So we will bring up a second loop:

    Now what happens in the XXX section?! We will define the geometry and this definition is based on the geometry of the selected feature and a buffer around it. When we have this, we will add this to the array of buffer features:

    As you may have noticed, the buffer functions needs two inputs. First the distance, second the “segments”. Segments define the number of segments a quarter circle have. So the higher this value your circles will get rounder but also computation will take longer.
    In the end we will add our new features to the layer and add the layer to the map:

    After some minor adjustments to the projection of the target files the whole function looks like this:

    But one last remark: As we don’t convert your input files to a projected coordinate system at the beginning, make sure your layer is in a projected CRS at the beginning -).

    You can download the whole multi_buffer.

    Some further remark: If you want to extend your plugin and you don’t know what functions/methods are available for your object, just determine the name of the object and search on the API page of QGIS for it. So it’s “easy” to see that the EPSG code of a crs of a layer is available by the method .authid().
    If you have any remarks, feel free to comment below!


    Maps contain several layers, each representing a set of spatial features. Layers are laid atop one another for viewing or spatial analysis. This lends itself to working with the map layers in Illustrator, as they can be treated similarly to a layer containing artwork.

    Attributes denote a geographic feature on a map. The information is typically stored in a tabular format that is linked to the feature. For instance, the attributes of a well-represented point along a river may include the name, the course of the river/ length, sediment load, etc.

    When you are familiar with the attributes associated with the map data, you can do things like applying rules to style your map according to attributes in the table.


    Creating polygons layer from point layer with conveks buffer - Geographic Information Systems

    For further inquiries and requests for a demo, please contact:

    Esri NeA | Street 15 Free Zone | Nasr City, Cairo | Ägypten
    Tel: 202 2271 9350
    Fax: 202 2271 9354

    DotGeo Features

    Kartennavigation

    The Map Navigation feature will allow you to interact with the exposed map layers through our intuitive navigation toolbar. The toolbar allows you to adjust your map’s size, pan the map in any direction, zoom and re-center, or jump to any zoom level based on your needs. Additionally, you can see an overview of your map and the various data layers represented on it, control the map scale, and design a legend that suits your needs.

    Table of Contents

    With the Table of Content operation you can easily manage your various data layers and create logical groups. You can also manage the thematic rendering of a chosen layer, specify the attributes you wish to classify, and set the classification parameters. Additionally, you can view the metadata associated with your layers, turn layers on or off as required, or even save and reload the Table of Content you created at another time.

    Map Classification

    This feature allows you to create different classifications for the values represented in your data on the map. Classification can be in the form of unique symbols for each value, or color gradient classification, where each color represents a certain value range. You can also easily save or load classifications, and the system administrator can even create predefined classifications for inexperienced users.
    Dynamic charting is also availed on the map. You can create charts from map analysis of GIS data or data extracted from different systems and databases on the fly.

    Redlining

    The Redlining operation provides you with a set of powerful tools to allow you to sketch graphic drawings and add symbols on to your map. Sketching can be in freehand format, or using geometrical drawing tools such as lines and polygons. This feature also allows you to add notes to your sketches so that fellow colleagues who share this data with you are updated with the changes you made. You can modify, save, or even delete any sketches you make.

    Bearbeitung

    Edit points, lines, polygons, and support domains and subtypes. With our advanced editing options you can also cut and merge data.

    Spatial Search

    The Spatial Search feature allows you to easily identify map features and get any feature’s attributes from other layers and joined databases. The spatial searches you build are created in runtime. You can search using geometric shapes such as points, polygons, or buffer zones. Additionally, you can run a report to summarize the results of your search, and the details of each feature that was included in the spatial search you specified.

    Tabular Search

    You can perform a variety of attribute inquiries on the exposed GIS or relational data. This feature will help you to retrieve information of any resource by either simple or sophisticated search. The search is built in run time based on the configuration done in administration.

    Extracting

    This feature allows you to extract GIS data with their associated relational data from the system to work on, in the GIS format you desire from shape files, Geodatabase or even CAD files. However, any edits that are done on the extracted data cannot be imported back into the main repository.

    Messung

    The measure feature enables you to get numerical information about distances and areas as well as to get coordinate information for points.

    Add External Data

    This feature enables you to integrate with local GIS data by providing you with the capability of loading files and displaying their contents on the map. DotGeo supports attaching the following file extensions: Excel and shapefiles.

    Bookmarking

    With this feature you can create bookmarks for certain map locations, and identify these bookmarks with names and notes.

    E-mailing

    Send the current map in your view via email as an attachment

    Dynamic Reporting

    Easily create dynamic reports. Reports can be basic or detailed reports, map, tabular, or hybrid reports. Generate reports using predefined templates. You can select and set the required report type and the report template from a set of predefined templates, and you can specify the attribute fields to be included and adjust the map extent and the attributes display.

    Base Map Gallery

    Navigate through different data sources online for your base map needs, such as Esri’s ArcGIS Online and Bing Maps.

    Simply enter a single word and find all possible matches based on the predefined configured layers and columns.

    Google Maps

    This feature allows users to open Google maps within the viewer’s current extent, and display the map viewer data on top of Google maps.

    Routing

    Multipoint routing capabilities enable you to generate any desired route, highlight it on the map, with detailed directions. You can also generate the ideal route from a specific source to a desired destination and play the route using animated tools.


    Schau das Video: Topology optimisation - Table