CAD en GIS, het juiste gereedschap voor de klus ( II )

Afgelopen week kreeg ik de vraag om een Shape-file en een Excel-sheet met elkaar te koppelen en als resultaat een nieuwe Shape-file te maken met slechts een deel van de attributen.

In de Shape-file zat de geometrie van wegvakken, met als attributen: weg-nummer, weg-vak-nummer en weg-vak-onderdeel-nummer. In de Excel-sheet zaten diezelfde nummers en nog meer detail informatie van de wegvakken. Deze Excel-sheet was geexporteerd vanuit wegbeheer software.
Als de AutoCAD Map gebruiker dan ook nog een senior ArcGIS gebruiker is, dan heb je als consultant een aardige uitdaging.

In de vorm van een handson workshop de volgende zaken opgepakt:

AutoCAD Map FDO Create a JoinVoor het linken van de beide bestanden aan elkaar, gebruiken we de FDO-functie: Create a Join.
Hiervoor moeten Shape-file en Excel-sheet beide als FDO-source aan AutoCAD Map gekoppeld zijn en er moeten één of meerdere gemeenschappelijke velden zijn om te kunnen koppelen.

Om een FDO-connectie te kunnen leggen met de Excel-data is het handig om deze even te importeren in een Access-tabel. Vervolgens kan de FDO-connectie naar die Access-tabel gelegd worden dmv. de volgende Connection String:
Driver={Microsoft Access Driver (*.mdb)};DBQ=pathnamefilename.mdb
Door de Excel-data even in een Access-tabel te importeren is het nml. ook mogelijk om de velden die gebruikt worden voor de koppeling van hetzelfde database type te maken ( Text of Numeriek ).

In het hieronder afgebeelde scherm wordt vervolgens de FDO-connectie naar de Shape-file als Primary table geselecteeerd en de FDO ODBC-connectie naar de Acces-tabel als Secondary table.
Voor de Join worden de volgende velden aan elkaar gelinked:
WEG_NR002 -> Weg
WEGV_NR002 -> Vak
WEGVONR002 -> Ond

In het FDO DataGrid is het samengestelde scherm te zien. Maar om hiervan een nieuwe Shape-file te maken met slechts een deel van de attributen is echter in AutoCAD Map niet zo’n eenvoudige opgave.
Wat in ArcGIS een fluitje van een cent is, blijkt in AutoCAD Map toch nog een hele opgave.

Om hiervan een nieuwe Shape-file te maken, met in de DBF-database de inhoud van het orginele bestand aangevuld met de Excel-sheet, wordt eerst een export naar SDF gemaakt. Deze lokale spatial database bevat de samengestelde structuur.
Met behulp van de FDO Schema Editor kan een nieuwe lege Shape-file worden aangemaakt met daarin alleen die attribuut kolommen die nodig zijn.
Met behulp van FDO BulkCopy functionaliteit kan de inhoud van de SDF-file worden overgezet naar de Shape-file. Hierbij kan een keuze worden gemaakt uit de velden die moeten worden overgezet.

AutoCAD Map FDO Create a Join

CAD en GIS, het juiste gereedschap voor de klus

Een tijdje geleden kreeg ik de volgende email: “Hallo Henny, ik ben verantwoordelijk voor projecten die te maken hebben met beheer en onderhoud van ons duingebied. De ruimtelijke gegevens zijn door GIS collega’s in een Oracle Spatial database gezet. We willen gegevens die te maken hebben met de uitvoering van de onderhoudswerkzaamheden graag direct met een AutoCAD omgeving kunnen beheren. Kun je mij hiermee op gang helpen ?

Ik denk dat dit een herkenbare situatie is bij bedrijven met een CAD en een GIS-afdeling. Vaak wordt informatie tussen die afdelingen uitgewisseld door Shape of DXF bestandjes over en weer te sturen, terwijl AutoCAD Map mbv. haar FDO-functionaliteit rechtstreeks kan koppelen aan de Oracle Spatial database.

In de vorm van een handson workshop de volgende zaken opgepakt:

Om te beginnen een koppeling met de ArcGIS tabellen in Oracle gemaakt als een zgn. Foreign Datastore. Hiermee worden tabellen bedoeld die niet door AutoCAD Map zelf zijn aangemaakt en daardoor geen FDO-metadata bevatten. De data komt prima op het scherm, maar het werken met bijv. de Style Editor om thema kaarten te maken is ietwat omslachtiger.

Daarom in een nieuw Oracle schema mbv. FDO’s Schema Editor de gewenste feature tabellen aangemaakt, zodat er automatisch FDO-metadata wordt aangemaakt. Hierbij een keuze gemaakt welke kolommen informatie bevatten die voor beheer en onderhoud taken nodig zijn en welke konden worden geskipped. Daarna mbv. BulkCopy functionaliteit de data overgezet vanuit de bestaande tabellen.

In de ArcGIS tabellen werd bijv. de oppervlakte van een polygoon mbv. een database trigger berekend vanuit de geometry. In AutoCAD Map worden de database attributen getoond en bewerkt mbv. een Data Table. Hieraan kunnen ook zgn. reken-kolommen worden toegevoegd ( zie afbeelding ). Hiermee is direct de oppervlakte van een polygoon vanuit de geometry beschikbaar.

Verschillende thema kaarten aangemaakt en deze style instelllingen opgeslagen in Layer definitie bestanden, zodat deze gemakkelijk in bestaande CAD-tekeningen kunnen worden her-gebruikt.

Create a Calculation

AutoCAD Map/FDO ESRI ArcSDE vs AutoCAD Map/FDO Oracle Spatial

AutoCAD Map/FDO <=> ESRI ArcSDE
Om AutoCAD Map een FDO-connectie naar een ESRI ArcSDE server te kunnen laten maken, moeten er 3 zgn. DLL’s ( pe.dll, sde.dll en sg.dll ) in de “AutoCAD Map software”/FDO/bin-folder worden gezet.

Vervolgens kan mbv. “Map Display Manager => Data => Connect to Data” in de Data Connect UI een ArcSDE connectie worden toegevoegd. In het connectie scherm moeten server naam en instance worden ingevuld, waarna er kan worden ingelogd met de username/password van een ArcSDE-gebruiker.

Map gaat dan met de ArcSDE-rechten van die betreffende gebruiker onderzoeken welke feature-tables voor deze gebruiker beschikbaar zijn en analyseert die tabellen om de juiste structuur te bepalen. NB: als de ArcSDE-gebruiker veel rechten heeft, dan duurt deze analyse langer – zorg dus voor een gebruiker met de gewenste ( beperkte ) rechten voor een goede performance.

Na deze analyse wordt de lijst met beschikbare features getoond en kunnen hier één of meerdere uit worden gekozen om aan de Map-sessie te worden verbonden. Vervolgens wordt de data op het scherm getoond, waarbij evt. gefilterd zou kunnen worden op locatie en/of attributen.

AutoCAD Map/FDO <=> Oracle Spatial
Om AutoCAD Map een FDO-connectie naar een Oracle 9i of 10g Spatial server te kunnen laten maken, moet er Oracle 10g Client software ( evt. een Instant Client ) op de Map-machine zijn geinstalleerd. Daarnaast moet er op de Oracle server Oracle Workspace Manager zijn geinstalleerd – hier maakt Map gebruikt van ivm. Long Transactions en Versioning.

Vervolgens kan mbv. “Map Display Manager => Data => Connect to Data” in de Data Connect UI een Oracle connectie worden toegevoegd. In het connectie scherm moet een service naam worden ingevuld, waarna er kan worden ingelogd met de username/password van een Oracle-gebruiker.

Map gaat standaard op zoek naar FDO-schema’s ( tabellen waar FDO-metadata aan is toegevoegd ) en toont deze in het DataStore overzicht. Map kan ook schema’s zonder FDO-metadata analyseren en zelf de structuur bepalen ( vergelijkbaar zoals hierboven beschreven voor ArcSDE ).

Als in het DataStore overzicht een schema is geselecteerd, worden de in dat schema beschikbare features getoond en kunnen hier één of meerdere uit worden gekozen om aan de Map-sessie te worden verbonden. Vervolgens wordt de data op het scherm getoond, waarbij evt. gefilterd zou kunnen worden op locatie en/of attributen.

zie ook: Directe toegang tot Spatial Data mbv. FDO-technologie

ArcGIS voor AutoCAD vs AutoCAD Map/FDO

ArcGIS for AutoCADArcGIS for AutoCAD is een gratis downloadable plugin van ESRI, momenteel beschikbaar voor AutoCAD 2007, 2008 en 2009.
Met deze functionaliteit hebben AutoCAD gebruikers toegang tot ArcGIS Server Map Services en wordt de gewenste kaartlaag als image achter de CAD-data afgebeeld.
De opmaak van de kaartlaag wordt op de server geregeld en de GIS-attributen kunnen worden opgevraagd.
Deze functionaliteit is view only en niet bedoeld om ArcGIS-data te editten in AutoCAD.

AutoCAD Map/FDO is functionaliteit om direct te koppelen aan oa. ESRI ArcSDE en beschikbaar voor AutoCAD Map 2006, 2007, 2008, 2009 en 2010.
Hiermee kan een selectie worden gemaakt welke GIS-feature classes in de CAD-omgeving moeten worden weergeven. Deze worden niet als image, maar als vector data weergegeven. Daardoor is het mogelijk om bijvoorbeeld tijdens het tekenen naar GIS-features te “snappen”.
De opmaak van de GIS-features kan in AutoCAD Map Display Manager worden ingesteld. De GIS-attributen zijn beschikbaar in een zgn. Data Table, waar je een regel kunt klikken om het bijbehorende element in de tekening te selecteren ( en omgekeerd ).
Met deze functionaliteit is het ook mogelijk om ArcGIS-data te editten met behulp van AutoCAD Map.

zie ook: Directe toegang tot Spatial Data mbv. FDO-technologie