Fabric – chatgpz.de – KI-Tools & Praxiswissen https://chatgpz.de Unabhängige Tests, Anleitungen und Hintergründe zu KI-Tools. Wed, 14 Jan 2026 01:48:11 +0000 de-DE hourly 1 https://wordpress.org/?v=6.4.2 234900186 Von „Dataslows“ zu Dataflows: Die Gen2-Leistungsrevolution in Microsoft Cloth https://chatgpz.de/machine-learning/von-dataslows-zu-dataflows-die-gen2-leistungsrevolution-in-microsoft-cloth/ https://chatgpz.de/machine-learning/von-dataslows-zu-dataflows-die-gen2-leistungsrevolution-in-microsoft-cloth/#respond Wed, 14 Jan 2026 01:48:11 +0000 http://chatgpz.de/machine-learning/von-dataslows-zu-dataflows-die-gen2-leistungsrevolution-in-microsoft-fabric/ [ad_1]

Bei den Ankündigungen der letzten FabCon Europe in Wien ging es möglicherweise unter dem Radar um die Leistungsverbesserungen und die Kostenoptimierung für Dataflows Gen2.

Bevor wir näher darauf eingehen, wie sich diese Verbesserungen auf Ihr aktuelles Dataflows-Setup auswirken, gehen wir einen Schritt zurück und geben einen kurzen Überblick über Dataflows. Für diejenigen unter Ihnen, die neu bei Microsoft Cloth sind: Ein Dataflow Gen2 ist das No-Code/Low-Code-Cloth-Ingredient, das zum Extrahieren, Transformieren und Laden der Daten (ETL) verwendet wird.

Ein Dataflow Gen2 bietet zahlreiche Vorteile:

  • Nutzen Sie über 100 integrierte Konnektoren, um Daten aus einer Vielzahl von Datenquellen zu extrahieren
  • Nutzen Sie eine vertraute GUI von Energy Question, um Dutzende Transformationen auf die Daten anzuwenden, ohne eine einzige Codezeile schreiben zu müssen – a Traum wird wahr für viele Bürgerentwickler
  • Speichern Sie die Ausgabe der Datentransformation als Deltatabelle in OneLake, sodass die transformierten Daten nachgelagert von verschiedenen Cloth-Engines (Spark, T-SQL, Energy BI…) verwendet werden können.

Allerdings ist Einfachheit meist mit Kosten verbunden. Im Fall von Dataflows waren die Kosten ein deutlich höherer CU-Verbrauch im Vergleich zu Code-First-Lösungen wie Cloth-Notebooks und/oder T-SQL-Skripten. Dies wurde bereits in zwei großartigen Blogbeiträgen meines MVP-Kollegen Gilbert Quevauvilliers (Fourmoo) intestine erklärt und untersucht: Vergleich von Dataflow Gen2 und Pocket book hinsichtlich Kosten und Benutzerfreundlichkeitund Stepan Resl: Kopieraktivität, Dataflows Gen2 und Notebooks vs. SharePoint-Pay attentionadditionally werde ich keine Zeit damit verschwenden, über die Vergangenheit zu diskutieren. Konzentrieren wir uns stattdessen auf das, was die Gegenwart (und Zukunft) für Dataflows bringt!

Änderungen am Preismodell

Bild vom Autor erstellt

Sehen wir uns kurz an, was in der Abbildung oben angezeigt wird. Zuvor wurde jede Sekunde des Dataflow Gen2-Laufs mit 16 CU abgerechnet (CU steht für Capability Unit und stellt einen gebündelten Satz von Ressourcen dar – CPU, Speicher und I/O –, die in Synergie verwendet werden, um einen bestimmten Vorgang auszuführen). Abhängig von der Cloth-Kapazitätsgröße erhalten Sie eine bestimmte Anzahl von Kapazitätseinheiten – F2 stellt 2 CUs bereit, F4 stellt 4 CUs bereit und so weiter.

Kehren wir zu unserem Dataflows-Szenario zurück und lassen Sie uns dies anhand eines Beispiels aus der Praxis aufschlüsseln. Angenommen, Sie haben einen Datenfluss, der 20 Minuten (1200 Sekunden) läuft …

  • Bisher hätte dieser Dataflow-Lauf Sie gekostet 19.200 GE: 1200 Sekunden * 16 CUs
  • Nun, dieser Dataflow-Lauf wird Sie kosten 8.100 GE: 600 Sekunden (erste 10 Minuten) * 12 CUs + 600 Sekunden (nach den ersten 10 Minuten) * 1,5 CUs

Je länger Ihr Dataflow zur Ausführung benötigt, desto größer sind die potenziellen Einsparungen an CUs.

Das ist an sich schon erstaunlich, aber es steckt noch mehr dahinter. Ich meine, es ist schön, für den gleichen Arbeitsaufwand weniger zu bezahlen, aber was wäre, wenn wir diese 1200 Sekunden, sagen wir, 800 Sekunden schaffen könnten? Das würde uns additionally nicht nur CUs ersparen, sondern auch die Zeit bis zur Analyse verkürzen, da die Daten schneller verarbeitet worden wären. Und genau darum geht es bei den nächsten beiden Verbesserungen …

Moderner Gutachter

Die neue Vorschaufunktion mit dem Namen Fashionable Evaluator ermöglicht die Verwendung der neuen Abfrageausführungs-Engine (ausgeführt auf .NET Core Model 8) zum Ausführen von Dataflows. Gemäß der offizielle Microsoft-DokumenteDatenflüsse, auf denen der moderne Evaluator ausgeführt wird, können die folgenden Vorteile bieten:

  • Schnellere Datenflussausführung
  • Effizientere Verarbeitung
  • Skalierbarkeit und Zuverlässigkeit
Bild vom Autor erstellt

Die obige Abbildung zeigt die Leistungsunterschiede zwischen verschiedenen Dataflow-„Varianten“. Keine Sorge, wir werden diese Zahlen bald in einer Demo herausfordern und ich zeige Ihnen auch, wie Sie diese neuesten Verbesserungen in Ihren Cloth-Workloads aktivieren.

Partitioniertes Computing

Zuvor wurde eine Datenflusslogik nacheinander ausgeführt. Abhängig von der Komplexität der Logik kann es daher eine Weile dauern, bis bestimmte Vorgänge abgeschlossen sind, sodass andere Vorgänge im Datenfluss in der Warteschlange warten müssen. Mit dem Partitionierte RechenfunktionDataflow kann nun Teile der Transformationslogik parallel ausführen und so die Gesamtzeit bis zum Abschluss verkürzen.

Derzeit gibt es bestimmte Einschränkungen, wann die partitionierte Datenverarbeitung zum Einsatz kommt. Nämlich, dass nur ADLS Gen2-, Cloth Lakehouse-, Folder- und Azure Blob Storage-Konnektoren diese neue Funktion nutzen können. Wir werden später in diesem Artikel noch einmal untersuchen, wie es funktioniert.

3, 2, 1…Motion!

Okay, es ist an der Zeit, die von Microsoft bereitgestellten Zahlen in Frage zu stellen und zu prüfen, ob (und in welchem ​​Ausmaß) es einen Leistungsgewinn zwischen verschiedenen Datenflusstypen gibt.

Hier ist unser Szenario: Ich habe 50 CSV-Dateien generiert, die Dummy-Daten zu Bestellungen enthalten. Jede Datei enthält ca. 575.000 Datensätze, es sind additionally ca. Insgesamt 29 Millionen Datensätze (ca. 2,5 GB Daten). Alle Dateien sind bereits im SharePoint-Ordner gespeichert, was einen fairen Vergleich ermöglicht, da Dataflow Gen1 OneLake Lakehouse als Datenquelle nicht unterstützt.

Bild vom Autor

Ich habe vor, zwei Testreihen durchzuführen: Zuerst den Dataflow Gen1 in den Vergleich einbeziehen. In diesem Szenario werde ich die Daten nicht mit Dataflows Gen2 in OneLake schreiben (ja, ich weiß, es macht den Zweck von Dataflow Gen2 zunichte), da ich „Äpfel mit Äpfeln“ vergleichen und die Zeit ausschließen möchte, die zum Schreiben von Daten in OneLake benötigt wird. Ich werde die folgenden vier Szenarien testen, in denen ich einige grundlegende Operationen zum Kombinieren und Laden der Daten durchführe und dabei einige grundlegende Transformationen anwende (Spalten umbenennen usw.):

  1. Verwenden Sie Dataflow Gen1 (den alten Energy BI-Datenfluss).
  2. Nutzen Sie Dataflow Gen2 ohne zusätzliche Optimierungsverbesserungen
  3. Verwenden Sie Dataflow Gen2 nur mit aktiviertem Fashionable-Evaluator
  4. Verwenden Sie Dataflow Gen2 mit aktiviertem Fashionable Evaluator und Partitioned Compute

In der zweiten Serie vergleiche ich nur drei Varianten von Dataflow Gen2 (Punkte 2–4 aus der obigen Liste), wobei das Schreiben der Daten in ein Lakehouse aktiviert ist.

Fangen wir an!

Datenfluss Gen1

Der gesamte Transformationsprozess im alten Dataflow Gen1 ist ziemlich einfach – ich habe einfach alle 50 Dateien in einer einzigen Abfrage zusammengefasst, Spalten nach Trennzeichen aufgeteilt und Spalten umbenannt. Hier passiert additionally nichts wirklich Fortgeschrittenes:

Bild vom Autor

Der gleiche Satz von Operationen/Transformationen wurde auf alle drei Dataflows Gen2 angewendet.

Bitte beachten Sie, dass es mit Dataflow Gen1 nicht möglich ist, die Daten als Delta-Tabelle in OneLake auszugeben. Alle Transformationen werden im Datenfluss selbst gespeichert. Wenn Sie diese Daten additionally beispielsweise im semantischen Modell benötigen, müssen Sie die Zeit und die Ressourcen berücksichtigen, die zum Laden/Aktualisieren der Daten im semantischen Modell des Importmodus erforderlich sind. Aber dazu später mehr.

Dataflow Gen2 ohne Verbesserungen

Machen wir jetzt dasselbe, diesmal jedoch mit dem neuen Dataflow Gen2. In diesem ersten Szenario habe ich keine dieser neuen Leistungsoptimierungsfunktionen angewendet.

Bild vom Autor

Dataflow Gen2 mit Fashionable Evaluator

Okay, der Second der Wahrheit – aktivieren wir jetzt den Fashionable Evaluator für Dataflow Gen2. Ich gehe zu den Optionen und aktiviere dann auf der Registerkarte „Skalierung“ das Kontrollkästchen „Verwendung der modernen Abfrageauswertungs-Engine zulassen“:

Bild vom Autor

Alles andere bleibt genau wie im vorherigen Fall.

Dataflow Gen2 mit Fashionable Evaluator und Partitioned Compute

Im letzten Beispiel aktiviere ich beide neuen Optimierungsfunktionen in den Optionen des Dataflow Gen2:

Bild vom Autor

Kommen wir nun zum Testen und Analysieren der Ergebnisse. Ich werde alle vier Datenflüsse nacheinander aus der Cloth-Pipeline ausführen, damit wir sicher sein können, dass jeder von ihnen isoliert von den anderen ausgeführt wird.

Bild vom Autor

Und hier sind die Ergebnisse:

Bild vom Autor

Die Partitionierung spielte in diesem speziellen Szenario offensichtlich keine große Rolle, und ich werde in einem der folgenden Artikel anhand verschiedener Szenarios genauer untersuchen, wie die Partitionierung funktioniert. Dataflow Gen2 mit aktiviertem Fashionable Evaluator übertraf alle anderen bei weitemDies führt zu 30 % Einsparungen im Vergleich zum alten Dataflow Gen1 und ca. 20 % Zeitersparnis im Vergleich zum regulären Dataflow Gen2 ohne Optimierungen! Vergessen Sie nicht, dass sich diese Einsparungen auch in den CU-Einsparungen widerspiegeln, sodass die endgültigen geschätzten CU-Kosten für jede der verwendeten Lösungen wie folgt sind:

  • Dataflow Gen1: 550 Sekunden * 12 CUs = 6.600 CUs
  • Dataflow Gen2 ohne Optimierung: 520 Sekunden * 12 CUs = 6.240 CUs
  • Dataflow Gen2 mit Fashionable Evaluator: 368 Sekunden * 12 CUs = 4,416 CUs
  • Dataflow Gen2 mit Fashionable Evaluator und Partitionierung: 474 Sekunden * 12 CUs = 5,688 CUs

Ich wollte jedoch noch einmal überprüfen und bestätigen, dass meine Berechnung korrekt ist. Daher habe ich die Capability Metrics App geöffnet und einen Blick auf die von der App erfassten Metriken geworfen:

Bild vom Autor

Obwohl das Gesamtergebnis die im Pipeline-Ausführungsprotokoll angezeigten Zahlen genau widerspiegelt, ist die genaue Anzahl der verwendeten CUs in der App unterschiedlich:

  • Dataflow Gen1: 7.788 CUs
  • Dataflow Gen2 ohne Optimierung: 5.684 CUs
  • Dataflow Gen2 mit Fashionable Evaluator: 3.565 CUs
  • Dataflow Gen2 mit Fashionable Evaluator und Partitionierung: 4.732 CUs

Laut der Capability Metrics App verbrauchte ein Dataflow Gen2 mit aktiviertem Fashionable Evaluator in diesem speziellen Szenario weniger als 50 % der Kapazität im Vergleich zum Dataflow Gen1! Ich aircraft, in den folgenden Tagen/Wochen weitere Testanwendungsfälle zu erstellen und eine umfassendere Reihe von Checks und Vergleichen bereitzustellen, die auch die Zeit zum Schreiben der Daten in OneLake (mit Dataflows Gen2) im Vergleich zur Zeit zum Aktualisieren des semantischen Modells des Importmodus, das den alten Dataflow Gen1 verwendet, umfassen wird.

Abschluss

Im Vergleich zu anderen (Code-First-)Optionen galten Dataflows (zu Recht?) als „die langsamste und leistungsschwächste Choice“ für die Datenaufnahme in Energy BI/Microsoft Cloth. Allerdings verändern sich die Dinge in der Cloth-Welt schnell und ich finde es toll, wie das Cloth Information Integration-Workforce das Produkt ständig verbessert. Ehrlich gesagt bin ich gespannt, wie sich die Leistung und die Kosten von Dataflows Gen2 im Laufe der Zeit entwickeln, sodass wir in Betracht ziehen können, Dataflows nicht nur für Low-Code-/No-Code-Datenerfassungs- und Datentransformationsanforderungen zu nutzen, sondern auch als praktikable Different zu Code-First-Lösungen aus Kosten-/Leistungssicht.

Danke fürs Lesen!

Haftungsausschluss: Ich habe keine Verbindung zu Microsoft (außer dass ich ein Microsoft Information Platform MVP bin) und wurde von Microsoft weder angesprochen noch gesponsert, um diesen Artikel zu schreiben

[ad_2]

]]>
https://chatgpz.de/machine-learning/von-dataslows-zu-dataflows-die-gen2-leistungsrevolution-in-microsoft-cloth/feed/ 0 15543
Die Geospatial -Fähigkeiten von Microsoft Cloth und Esri Geoanalytics haben gezeigt https://chatgpz.de/machine-learning/die-geospatial-faehigkeiten-von-microsoft-cloth-und-esri-geoanalytics-haben-gezeigt/ https://chatgpz.de/machine-learning/die-geospatial-faehigkeiten-von-microsoft-cloth-und-esri-geoanalytics-haben-gezeigt/#respond Thu, 15 May 2025 12:16:08 +0000 http://chatgpz.de/machine-learning/die-geospatial-faehigkeiten-von-microsoft-fabric-und-esri-geoanalytics-haben-gezeigt/ [ad_1]

Dass 80% der von Regierungen gesammelten, gespeicherten und gewarteten Daten mit geografischen Standorten in Verbindung gebracht werden können. Obwohl nie empirisch bewiesen, zeigt es die Bedeutung des Standorts innerhalb von Daten. Weder wachsende Datenvolumina setzen Einschränkungen für Systeme, die Geospatialdaten umgehen. Gemeinsam Large Knowledge Rechenmotors, die ursprünglich für Textdaten konzipiert wurden, müssen an die effiziente Arbeit mit geoino -Daten geeignet sind – denken Sie an geografische Indizes, Partitionierung und Operatoren. Hier präsentiere und veranschaue ich, wie man das nutzt Microsoft Stoff Funkenzinktor Motor mit den nativ integrierten Funken Esri Geoanalytics Engine# Für die Geospatial Large Knowledge Processing und Analytics.

Die optionalen Geoanalytics -Funktionen innerhalb Stoff Aktivieren Sie die Verarbeitung und Analyse von Geospatialdaten vom Vektor-Typ, wobei sich Geospatialdaten vom Vektor auf Punkte, Linien, Polygone beziehen. Diese Funktionen umfassen mehr als 150 räumliche Funktionen, um Geometrien, Checks und Auswahl räumlicher Beziehungen zu erstellen. Wenn es Funken erweitert, können die Geoanalytics -Funktionen bei der Verwendung von Python, SQL oder Scala aufgerufen werden. Diese räumlichen Vorgänge verwenden automatisch räumliche Indexierung, sodass der Spark Compute Engine auch für diese Daten effizient ist. Es kann 10 additional häufige räumliche Datenformate verarbeiten, um Daten räumliche Daten zu laden und zu speichern, zusätzlich zu den funken unterstützten Datenquellenformaten. Dieser Weblog -Beitrag konzentriert sich auf die skalierbaren Geospatial -Rechenmotoren Geospatial im Zeitalter der KI.

Demonstration erklärt

Hier demonstriere ich einige dieser räumlichen Funktionen, indem ich die Datenmanipulations- und Analyseschritte in einem großen Datensatz zeigt. Durch die Verwendung mehrerer Kacheln, die Level Cloud -Daten (eine Reihe von X-, Y-, Z -Werten) verwenden, wird ein enormer Datensatz gebildet, während es immer noch einen relativ kleinen Bereich abdeckt. Die offen Niederländisch Ahn Dataset, ein nationales digitales Höhen- und Oberflächenmodell, befindet sich derzeit im fünften Replace -Zyklus und erstreckt sich über einen Zeitraum von quick 30 Jahren. Hier werden die Daten aus der zweiten, dritten und vierten Akquisition verwendet, da diese die vollständige nationale Berichterstattung (die fünfte einfach noch nicht) halten, während die erste Model keine Level Cloud -Model enthielt (nur die Model der abgeleiteten Gitterversion).

Ein weiterer niederländischer offener Datensatz, nämlich Daten bauen, die Taschewird verwendet, um die räumliche Auswahl zu veranschaulichen. Der Baudatensatz enthält den Fußabdruck der Gebäude als Polygone. Derzeit enthält dieser Datensatz mehr als 11 Millionen Gebäude. Um die räumlichen Funktionen zu testen, verwende ich nur 4 AHN -Fliesen professional AHN -Model. Somit in diesem Fall 12 Kacheln, jeweils 5 x 6,25 km. Insgesamt mehr als 3,5 Milliarden Punkte in einer Fläche von 125 Quadratkilometern. Das ausgewählte Gebiet deckt die Gemeinde Loppersum ab, ein Gebiet, das aufgrund der Gasgewinnung für Landabsenkt anfällig ist.

Zu den Schritten gehören die Auswahl der Gebäude im Bereich des Lästers und die Auswahl der X-, Y-, Z-Punkte von den Dächern der Gebäude. Dann bringen wir die 3 Datensätze in einen Datenrahmen und führen damit eine zusätzliche Analyse durch. Eine räumliche Regression zur Vorhersage der erwarteten Höhe eines Gebäudes auf der Grundlage seiner Höhengeschichte sowie der Geschichte der Gebäude in seiner direkten Umgebung. Nicht unbedingt die beste Analyse, um diese Daten auszuführen, um zu tatsächlichen Vorhersagen* zu kommen*, aber sie passt lediglich zum Zweck der Nachweis der räumlichen Verarbeitungsfunktionen der Esri Geoanalytics von Cloth. Alle folgenden Code -Ausschnitte sind ebenfalls erhältlich als Notizbücher auf GitHub.

Schritt 1: Daten lesen

Räumliche Daten können in vielen verschiedenen Datenformaten erhältlich sein. Wir entsprechen dem Geoparquet -Datenformat zur weiteren Verarbeitung. Die Taschenaufbaudaten, sowohl die Fußabdrücke als auch die begleiteten Gemeindegrenzen, sind bereits im Geoparquet -Format vorhanden. Die Level Cloud -AHN -Daten, Model 2, 3 und 4, wird jedoch als Laz -Dateiformate geliefert – ein komprimiertes Standardformat für Punktwolken. Ich habe keine Funkenbibliothek gefunden, um Laz zu lesen (bitte hinterlassen Sie eine Nachricht, falls es eine gibt) und erstellt eine TXT -Datei getrennt mit dem Lastools+ Erste.

# ESRI - FABRIC reference: https://builders.arcgis.com/geoanalytics-fabric/

# Import the required modules
import geoanalytics_fabric
from geoanalytics_fabric.sql import features as ST
from geoanalytics_fabric import extensions

# Learn ahn file from OneLake
# AHN lidar knowledge supply: https://viewer.ahn.nl/

ahn_csv_path = "Information/AHN lidar/AHN4_csv"
lidar_df = spark.learn.choices(delimiter=" ").csv(ahn_csv_path)
lidar_df = lidar_df.selectExpr("_c0 as X", "_c1 as Y", "_c2 Z")

lidar_df.printSchema()
lidar_df.present(5)
lidar_df.depend()

Das obige Code -Snippet& Bietet die folgenden Ergebnisse:

Jetzt mit den räumlichen Funktionen make_point Und srid Die Spalten X, Y, Z werden in eine Punktgeometrie transformiert und auf das spezifische niederländische Koordinatensystem (SRID = 28992) einstellen, siehe den folgenden Code -Snippet&:

# Create level geometry from x,y,z columns and set the spatial refrence system
lidar_df = lidar_df.choose(ST.make_point(x="X", y="Y", z="Z").alias("rd_point"))
lidar_df = lidar_df.withColumn("srid", ST.srid("rd_point"))
lidar_df = lidar_df.choose(ST.srid("rd_point", 28992).alias("rd_point"))
  .withColumn("srid", ST.srid("rd_point"))

lidar_df.printSchema()
lidar_df.present(5)

Aufbau- und Gemeindedaten können mit dem erweiterten gelesen werden spark.learn Funktion für Geoparquet, siehe Code -Snippet&:

# Learn constructing polygon knowledge
path_building = "Information/BAG NL/BAG_pand_202504.parquet"
df_buildings = spark.learn.format("geoparquet").load(path_building)

# Learn woonplaats knowledge (=municipality)
path_woonplaats = "Information/BAG NL/BAG_woonplaats_202504.parquet"
df_woonplaats = spark.learn.format("geoparquet").load(path_woonplaats)

# Filter the DataFrame the place the "woonplaats" column comprises the string "Loppersum"
df_loppersum = df_woonplaats.filter(col("woonplaats").comprises("Loppersum"))

Schritt 2: Auswahl treffen

Im Begleit NotizbücherIch lese und schreibe an Geoparquet. Um sicherzustellen, dass die richtigen Daten als Datenrahmen korrekt gelesen werden, finden Sie im folgenden Code -Snippet:

# Learn constructing polygon knowledge
path_building = "Information/BAG NL/BAG_pand_202504.parquet"
df_buildings = spark.learn.format("geoparquet").load(path_building)

# Learn woonplaats knowledge (=municipality)
path_woonplaats = "Information/BAG NL/BAG_woonplaats_202504.parquet"
df_woonplaats = spark.learn.format("geoparquet").load(path_woonplaats)

# Filter the DataFrame the place the "woonplaats" column comprises the string "Loppersum"
df_loppersum = df_woonplaats.filter(col("woonplaats").comprises("Loppersum"))

Bei allen Daten in Datenrahmen wird es zu einem einfachen Schritt, um räumliche Auswahlen zu treffen. Der folgende Code -Snippet& Zeigt, wie die Gebäude innerhalb der Grenzen der Loppersum-Gemeinde ausgewählt werden, und trifft getrennt eine Auswahl von Gebäuden, die im Laufe des Zeitraums existierten (Punkte Cloud-AHN-2-Daten wurden 2009 in dieser Area erfasst). Dies führte zu 1196 Gebäuden aus den derzeit 2492 Gebäuden.

# Clip the BAG buildings to the gemeente Loppersum boundary
df_buildings_roi = Clip().run(input_dataframe=df_buildings,
                    clip_dataframe=df_loppersum)

# choose solely buildings older then AHN knowledge (AHN2 (Groningen) = 2009) 
# and with a standing in use (Pand in gebruik)
df_buildings_roi_select = df_buildings_roi.the place((df_buildings_roi.bouwjaar<2009) & (df_buildings_roi.standing=='Pand in gebruik'))

Die drei verwendeten AHN -Versionen (2,3 und 4), die weiter als T1, T2 bzw. T3 benannt sind, werden dann basierend auf den ausgewählten Gebäudedaten abgeschnitten. Der AggregatePoints Die Funktion kann verwendet werden, um in diesem Fall aus der Höhe (Z-Werten) einige Statistiken wie der Mittelwert professional Dach, die Standardabweichung und die Anzahl der Z-Werte zu berechnen; Siehe den Code -Snippet:

# Choose and aggregrate lidar factors from buildings inside ROI

df_ahn2_result = AggregatePoints() 
            .setPolygons(df_buildings_roi_select) 
            .addSummaryField(summary_field="T1_z", statistic="Imply", alias="T1_z_mean") 
            .addSummaryField(summary_field="T1_z", statistic="stddev", alias="T1_z_stddev") 
            .run(df_ahn2)

df_ahn3_result = AggregatePoints() 
            .setPolygons(df_buildings_roi_select) 
            .addSummaryField(summary_field="T2_z", statistic="Imply", alias="T2_z_mean") 
            .addSummaryField(summary_field="T2_z", statistic="stddev", alias="T2_z_stddev") 
            .run(df_ahn3)

df_ahn4_result = AggregatePoints() 
            .setPolygons(df_buildings_roi_select) 
            .addSummaryField(summary_field="T3_z", statistic="Imply", alias="T3_z_mean") 
            .addSummaryField(summary_field="T3_z", statistic="stddev", alias="T3_z_stddev") 
            .run(df_ahn4)

Schritt 3: Aggregat und Regress

Als Geoanalytics -Funktion Geografisch gewichtete Regression (GWR) kann nur an Punktdaten arbeiten, von den Gebäudepolygonen, die ihr Schwerpunkt mit dem extrahiert werden centroid Funktion. Die 3 Datenrahmen werden zu einem verbunden, siehe auch das Notizbuch und ist bereit, die GWR -Funktion auszuführen. In diesem Fall prognostiziert es die Höhe für T3 (AHN4) basierend auf lokalen Regressionsfunktionen.

# Import the required modules
from geoanalytics_fabric.instruments import GWR

# Run the GWR instrument to foretell AHN4 (T3) peak values for buildings at Loppersum
resultGWR = GWR() 
            .setExplanatoryVariables("T1_z_mean", "T2_z_mean") 
            .setDependentVariable(dependent_variable="T3_z_mean") 
            .setLocalWeightingScheme(local_weighting_scheme="Bisquare") 
            .setNumNeighbors(number_of_neighbors=10) 
            .runIncludeDiagnostics(dataframe=df_buildingsT123_points)

Die Modelldiagnostik kann für den vorhergesagten Z -Wert konsultiert werden. In diesem Fall wurden die folgenden Ergebnisse generiert. Beachten Sie erneut, dass diese Ergebnisse für Anwendungen in der realen Welt nicht verwendet werden können, da die Daten und die Methodik möglicherweise nicht am besten zum Zweck der Absenkmodellierung passen – sie zeigt hier lediglich die Funktionalität der Geoanalytics Cloth.

R2 0,994
Adjr2 0,981
AICC 1509
Sigma2 0,046
Edof 378

Schritt 4: Die Ergebnisse visualisieren

Mit dem räumlichen Funktionsdiagramm können die Ergebnisse als Karten innerhalb des Notebooks visualisiert werden – die nur mit der Python -API in Spark verwendet werden. Erstens eine Visualisierung aller Gebäude innerhalb der Gemeinde loppersum.

# visualize Loppersum buildings
df_buildings.st.plot(basemap="mild", geometry="geometry", edgecolor="black", alpha=0.5)

Hier ist eine Visualisierung des Höhenunterschieds zwischen T3 (AHN4) und T3 vorhergesagt (T3 vorhergesagt minus T3).

# Vizualize distinction of predicted peak and precise measured peak Loppersum space and buildings

axes = df_loppersum.st.plot(basemap="mild", edgecolor="black", figsize=(7, 7), alpha=0)
axes.set(xlim=(244800, 246500), ylim=(594000, 595500))
df_buildings.st.plot(ax=axes, basemap="mild", alpha=0.5, edgecolor="black") #, shade='xkcd:sea blue'
df_with_difference.st.plot(ax=axes, basemap="mild", cmap_values="subsidence_mm_per_yr", cmap="coolwarm_r", vmin=-10, vmax=10, geometry="geometry")

Zusammenfassung

In diesem Weblog -Beitrag wird die Bedeutung geografischer Daten erörtert. Es unterstreicht die Herausforderungen, die durch Erhöhung des Datenvolumens eingestellt werden Geospatial Datensysteme und schlägt vor, dass sich herkömmliche Large -Knowledge -Motoren anpassen müssen, um Geospatialdaten effizient zu verarbeiten. Hier wird ein Beispiel darüber vorgestellt, wie die Microsoft Cloth Cloth Spark Compute Engine und deren Integration in die ESRI Geoanalytics Engine für eine effektive Geospatial Large Knowledge Processing and Analytics verwendet werden.

Meinungen hier sind meine.

Fußnoten

# In Vorschau

* Zur Modellierung der Landabsenkung mit viel höherer Genauigkeit und zeitlicher Häufigkeit können andere Ansätze und Daten verwendet werden, wie beispielsweise mit der Satelliten -Inar -Methodik (siehe auch Bodemdalingskaart)

+ Lastools wird hier separat verwendet. Es würde Spaß machen, die Verwendung von Cloth -Benutzerdatenfunktionen (Vorschau) zu testen oder eine Azure -Funktion für diesen Zweck zu verwenden.

& Code -Snippets hier sind für die Lesbarkeit eingerichtet, nicht unbedingt für Effizienz. Mehrere Datenverarbeitungsschritte könnten gekettet werden.

Referenzen

Github Repo mit Notizbüchern: delange/fabric_geoanalytics

Microsoft Stoff: Microsoft Cloth -Dokumentation – Microsoft Cloth | Microsoft lernen

Esri Geoanalytics für Stoff: Übersicht | Arcgis Geoanalytics für Microsoft Cloth | Arcgis -Entwickler

Ahn: House | Ahn

TASCHE: Over Bag – Basisregistratie Adresseen en Gebouwen – Kadaster.nl Zakelijk

Lastools: Lastools: Konvertieren, Filtern, Betrachten, Verarbeitung und Komprimieren von Lidar -Daten im LAS- und LAZ -Format

Oberflächen- und Objektbewegungskarte: Bodemdalingskaart –

[ad_2]

]]> https://chatgpz.de/machine-learning/die-geospatial-faehigkeiten-von-microsoft-cloth-und-esri-geoanalytics-haben-gezeigt/feed/ 0 9222