| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Hilfe bei Verschneidungsanalyse (771 mal gelesen)
|
grassup Mitglied
Beiträge: 165 Registriert: 10.02.2005 - AutoCAD Civil 3D 2012
|
erstellt am: 18. Sep. 2009 20:10 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich muss einzelne übereinanderliegende Parzellen miteinander verschneiden wobei die numerischen Attributdaten summiert werden sollen. Die 1. Ebene ist ein isometrisches Raster (50*50m). In der 2. Ebene liegen die Polygone genau über dem Raster, jedoch überdecken diese Polygone das erste Raster nur teilweise. Zur Verdeutlichung siehe angehängtes Bild. Alle Polygone besitzen eine einheitliche Objektdatentabelle. Kennt ihr eine schnelle Methode die Parzellen (z.B.:A + a) zu verschneiden und die Objektdaten zu summieren? Es sind einige 100 Parzellen die zusammengeführt werden müssen. Per Hand bekomme ich das mit dem Tool "Objekte zusammenführen" [_mapfeaturemurge] hin. Aber mit der Methode muss ich dass für jede einzelne Parzelle durchführen da ansonsten alle Parzellen zusammengeführt würden. Herzlichen Dank für Hinweise. grassup Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 18. Sep. 2009 20:46 <-- editieren / zitieren -->
Hi, steht in den Daten der Shapes wirklich 'A' und 'a' drin oder ist das nur für besser Beschreibung für hier so hergerichtet? Grundlage jedes Analysevorgangs ist eine Definitionsmöglichkeit, die für das System erkenntlich macht, was zusammengehört und was nicht. Wenn keine Sachdaten (attributive Daten) zur Verfügung stehen, aus denen Map erkennt, welche Flächen zu vereinigen sind und welche nicht, dann ist's auch mit Automatismus zumindest mal schwer. Hast Du die Möglichkeit, aus Deinen Daten kleine Auszüge zu erzeugen und hier upzuloaden? - alfred - ------------------ www.hollaus.at |
grassup Mitglied
Beiträge: 165 Registriert: 10.02.2005 - AutoCAD Civil 3D 2012
|
erstellt am: 18. Sep. 2009 23:51 <-- editieren / zitieren --> Unities abgeben:
Das kleine und große A habe ich nur für die Skizze genommen. Die einzige Gemeinsamkeit ist tatsächlich die Lage. Die Attribute bieten da leider gar nichts. Von daher bietet sich ja auch eine GIS Auswertung an. Im Prinzip macht das Tool mapfeaturemerge ja genau was ich brauche. Es fehlt halt noch eine Methode dem Tool jeweils die passenden Polygone zu übergeben. Einen Datenauszug lade ich gerne hoch. Danke schonmal. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 19. Sep. 2009 10:31 <-- editieren / zitieren -->
Hi, >> Die einzige Gemeinsamkeit ist tatsächlich die Lage Wenn ich Deine Skizze richtig interpretiere, dann sind die Flächen 'A' und 'a' nicht überlagernd. Damit gehört die Analyse der visuellen Erkennung, wie Du es siehst und interpretierst, jedenfalls ist aber keine fertige Funktion vorhanden, zu erkennen, dass 'A' mit 'a' und 'A' verbunden werden soll, auch wenn dieses für unser Auge 'einfach und logisch' erscheint. Vielleicht, wenn ich Deine Testdaten sehe, komme ich noch auf andere Ideen, derzeit würde ich mal die Varianten sehen: - wie Du es derzeit händisch machst ('_mapfeaturemerge') - die FDO-Daten importieren, geometrisch nachbearbeiten (weil's vermute ich mal schneller geometrisch gemacht ist als die Flächen über FDO nachzubearbeiten, hängt aber von der Menge der Flächen ab) und danach wieder exportieren. - den FDO-Daten ein Attribut hinzufügen und dieses so bearbeiten, dass die zu vereinigenden Objekte den gleichen Attributsinhalt bekommen (z.B. die gleiche Parzellen-ID), dann kannst Du im nachhinein mit Dissolve über dieses Attribut auswerten lassen und bekommst so aus 'A'/'a'/'A' eine resultierende Fläche. - alfred - ------------------ www.hollaus.at [Diese Nachricht wurde von a.n. am 19. Sep. 2009 editiert.] |
grassup Mitglied
Beiträge: 165 Registriert: 10.02.2005 - AutoCAD Civil 3D 2012
|
erstellt am: 22. Sep. 2009 16:30 <-- editieren / zitieren --> Unities abgeben:
Hallo Alfred, bin erst jetzt wieder im Lande. Anbei ein kleiner Testdatensatz (2 SDF Dateien) mit den entsprechenden Attributen. Vielleicht hast du ja eine zündende Idee wie man das automatisieren könnte. Aufgabe: addiere numerische Attributdaten der Polygone in B zu den geometrisch passenden Polygonen in A hinzu. Danke, grassup Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 22. Sep. 2009 20:13 <-- editieren / zitieren -->
Hi, die Daten verwirren mich ein wenig und die letzte Aussage auch. Zuerst hattest Du eine Skizze, in welcher sich 'A' und 'a' nicht ueberlagert hatten. In den jetzt übermittelten Beispiel liegen die Flächen aus 'b.sdf' über denen von 'a.sdf'. Die aktuelle Aussage 'addiere numerische Attributdaten' wäre dann als fraglich anzusehen, denn wenn ich die Flächen addiere, dann habe ich den Überlagerungsbereich doppelt gezählt. Wenn die aktuelle Version stimmt (die Flächen überlagern sich), dann hast Du eingentlich mit 2010 ein (fast) leichtes Spiel, denn da kannst Du, nachdem Du die beiden SDF's geladen hast: A) Befehl 'MapGisOverlay' starten ==> Quelle: a.sdf / Verschneidung: b.sdf / Typ: Vereinigung B) in dem daraus resultierenden SDF-File hast Du dann die Attribute aus a.sdf und b.sdf enthalten (z.B. 'FLAECHE_1' aus a.sdf und 'FLAECHE_2' aus b.sdf) C) jetzt kannst Du berechnete Felder hinzufügen, wo Du für jede Teilfläche aus a und b zusammenrechnen kannst D) das Ergebnis kannst Du als neues SDF speichern und Dich dann dort von den für Dich unnötigen Werten befreien. Ich bin mir wirklich nicht sicher, aber trotzdem hoffe ich, Dich richtig verstanden zu haben; zumindest vielleicht soweit, dass dieses zu neuen Gedanken angeregt hat. - alfred - ------------------ www.hollaus.at |
grassup Mitglied
Beiträge: 165 Registriert: 10.02.2005 - AutoCAD Civil 3D 2012
|
erstellt am: 23. Sep. 2009 09:37 <-- editieren / zitieren --> Unities abgeben:
Hallo, >die Daten verwirren mich ein wenig und die letzte Aussage auch das kann ich nachvollziehen! Die Benennungen (a/b) in meiner ersten Abb. sind nicht gleich zu setzen mit dem a und b bei den SDF Beispielen. Aber ich meinte immer das gleiche. >denn wenn ich die Flächen addiere, dann habe ich den Überlagerungsbereich doppelt gezählt. das soll auch so sein! >C) jetzt kannst Du berechnete Felder hinzufügen, wo Du für jede Teilfläche aus a und b zusammenrechnen kannst den Weg der Vereinigung hatte ich auch schon eingeschlagen aber mit dem Ergebniss komme ich leider nicht weiter. Ich erhalte ja nach der Vereinigung mehrere Teilpolygone wobei jedes Teilpolygon die Attribute der Ursprungspolygone erhält. Wenn ich die zusammenrechne erhalte ja ein vielfaches der Ursprungswerte? Betrachte ich z.B. im SDF Beispiel die linke Parzelle in der will ich die Werte des Attributes STP addieren so müsste ich folgende Einzelwerte addieren: [a.sdf] 2709 [b.sdf] 1005 [b.sdf] 1031 Nach der Vereinigung wird die linke Parzelle aber in 5 Teilpolygone aufgeteilt und ich erhalte den Wert von [a.sdf] 5mal? Kann ich die innerhalb von AutoCAD wieder zusammenführen? Danke für deine Hilfe und entschuldige meine holprigen Erklärungsversuche. grassup
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 23. Sep. 2009 10:01 <-- editieren / zitieren -->
Hi, >> Ich erhalte ja nach der Vereinigung mehrere Teilpolygone wobei jedes >> Teilpolygon die Attribute der Ursprungspolygone erhält ...ohne jetzt nachgesehen zu haben: Du kannst aber Regeln definieren, was mit Attributen der Polygone beim Teilen und beim Zusammenführen passieren soll. Hast Du z.B. in einem Polygon die Einwohneranzahl als Attribut drin (oder die ESRI-Krankheit, dass die Fläche nochmals reduntant mitgeführt wird), dann kannst Du definieren, dass beim Teilen des Polygons sich die Einwohneranzahl entsprechend der neuen Flächen auf die 2 neuen Teilflächen aufteilt. HTH, - alfred - ------------------ www.hollaus.at |
grassup Mitglied
Beiträge: 165 Registriert: 10.02.2005 - AutoCAD Civil 3D 2012
|
erstellt am: 23. Sep. 2009 10:48 <-- editieren / zitieren --> Unities abgeben:
|