Hallo!
Ich möchte mehrere Shapes (Polygone) aus einem Ordner zu einem GesamtShape zusammenführen. Das ganze soll automatisiert laufen, programmieren werde ich in VBA von ArcView 9 aus.
Habe mir überlegt, die Shapes über die Methode "Union" (Vereinigen)des BasicGeoprocessors zusammenzuführen. Bin mir aber nicht sicher, ob ich tatsächlich auch viele Shapes (bis zu 2500) damit erreichen kann. Auch von Projektionseinstellungen, die evtl. vorgenommen werden müssen, habe ich keine Ahnung!
Vielleicht hat jemand einen Rat für mich!?
Gruß,
GeoBart
Ich möchte mehrere Shapes (Polygone) aus einem Ordner zu einem GesamtShape zusammenführen. Das ganze soll automatisiert laufen, programmieren werde ich in VBA von ArcView 9 aus.
Habe mir überlegt, die Shapes über die Methode "Union" (Vereinigen)des BasicGeoprocessors zusammenzuführen. Bin mir aber nicht sicher, ob ich tatsächlich auch viele Shapes (bis zu 2500) damit erreichen kann. Auch von Projektionseinstellungen, die evtl. vorgenommen werden müssen, habe ich keine Ahnung!
Vielleicht hat jemand einen Rat für mich!?
Gruß,
GeoBart
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von GeoBart am Di., 03.05.2005 - 14:16
PermalinkÜber die Union-Funktion (BasicGeoprocessor) kann ich eine Zusammenführung vergessen, da Felder der Quell-Shapefiles an die Attributtabelle des Ziel-Shapes immer und immer wieder dran gehangen werden!
Bin zum Schluß gekommen, dass ich die Felder (auch das Geometriefeld Shape) der Quell-Attributtabelle in die Tabelle des Ziel-Shapes schreibe.
Sieht jemand vielleicht eine weitere Möglichkeit? Gibt es evtl. eine Kopierfunktion, die ich programmiertechnisch nutzen könnte?
Gruß,
GeoBart
Gespeichert von Gast am Mi., 04.05.2005 - 17:49
Permalinkso aus dem Bauch solltest Du Deine Shapes doch einfach ein einem Workspace öffnen und die Features in einen FeatureCursor/-Buffer übertragen können. Der FeatureCursor besitzt eine Insert-Methode, mit dem Du die ausgelesenen Feature anschließend wieder in ein neues Shapefile zurückschreiben kannst. Wie sich das mit unterschiedlichen Projektionen verhält kann ich Dir gerad' auch nicht sagen, würde ich halt einfach mal ausprobieren.
Viele Grüße
Jörg Ostendorp
Gespeichert von GeoBart am Di., 10.05.2005 - 15:16
PermalinkDanke! Ich werde es antesten, wird aber wegen anderen Dingen noch ein paar Tage dauern!
Dann muss ich ja nur noch den Aufruf aller Shapefiles automatisieren, die ein bestimmter Ordner enthält.
Grüsse,
GeoBart
Gespeichert von GeoBart am Do., 19.05.2005 - 17:36
PermalinkDie Funktion läuft mit der Schnittstelle FeatureCursor/-Buffer und der Insert-Methode prima. Ich habe die Methodenanwendung nicht sofort verstanden (ZielShapefile: Insert; QuellShapefile: Search), aber ich bin noch Anfänger (ist meine zweite Funktion in VBA/ArcObjects).
Leider trägt aus meiner Sicht das Buch ArcMap.Programmierung mit VBA (Höck/Manegold) zum verständlichen Umgang mit Methoden in ArcObjects nicht immer bei. Zum Teil sind Angaben zu Methoden einfach unvollständig und unverständlich für Anfänger.
Die Funktion erfüllt nun folgendes:
Alle Unterordner eines Stammordners werden durchsucht (in den letzten Unterordner befinden sich Shapefiles). Ist der Unterordner mit den Shapes gefunden, wird der Geometrietyp der Shapes geprüft und es wird ein neues Shape mit entsprechender Geometrie (Fläche, Linie, Punkt) erzeugt. Alle Shapefiles des Ordners (müssen denselben Geom.typ aufweisen) werden im neuen Shapefile zusammengefaßt. Über rekursive Funktion werden alle Unterordner durchgearbeitet sowie entsprechend neue Shapefiles erzeugt.
Wer am Programmcode (ArcGIS9/VBA) Interesse hat, kann sich bei mir melden!
Grüsse,
GeoBart