Field Maps
Gerelateerde tabellen - Slim gebruik van de Field Maps app
Waarom gerelateerde tabellen?
Met het relateren van tabellen wordt een relatie aangemaakt tussen een dataset en de brondata op basis van een gemeenschappelijk veld. Hiermee kunnen op dynamische wijze verschillende soorten gegevens worden opgeslagen en beheerd voor hetzelfde object. Assetmanagement is een mooi voorbeeld waarbij gerelateerde tabellen een relevante toevoeging kunnen zijn aan de workflow.
Het uitgangspunt in de rest van dit artikel zijn brandkranen. Voor elke brandkraan wordt informatie bijgehouden. Routinematig worden inspecties uitgevoerd. Als bij een inspectie wordt geconstateerd dat de toegang tot de brandkraan wordt beperkt, kan een overtreding worden genoteerd. De inspecties en overtredingen worden los van de brandkranen beheerd, maar zijn hier wel aan gerelateerd.
Een logische datastructuur
Binnen een geodatabase kun je een relatie maken tussen brandkranen, inspecties en schademeldingen door gebruik te maken van relationship classes. Onderstaand voorbeeld geeft een indruk van de bijbehorende datastructuur:

Met de Field Maps app kun je vervolgens gerelateerde gegevens bevragen, bewerken en zo assetmanagement naar een hoger plan tillen. De cardinality (relatie-beschrijving) in bovenstaand voorbeeld is 1-op-veel, dat betekent: de brandkraan heeft een relatie met meerdere records (inspecties). Het is daarna mogelijk om aan elk van deze inspecties een dataset met schademeldingen te relateren.
Data-preparatie in ArcGIS Pro
De eerste stap om deze workflow te verwezenlijken is het aanmaken van het datamodel in ArcGIS Pro.
Maak in ArcGIS Pro binnen een geodatabase een feature class aan voor het hoofdobject waarin de eigenschappen als verschillende kolommen worden ontworpen. Verder kunnen ook domeinen of subtypes worden toegekend en de mogelijkheden voor editor tracking en attachments worden ingeschakeld.
Bij het definiëren van gerelateerde data, is het sterk te adviseren om dit op basis van een uniek Global ID te doen en niet op basis van door gebruikers beheerde relaties.
Hiervoor voert u de tool ‘Add Global IDs’ uit op de originele feature class.
Maak daarna een tabel óf tweede feature class aan waarin de gerelateerde data komt te staan. Maak ook hier velden, domeinen en/of subtypes aan, ken deze toe en kies er eventueel ook voor om editor tracking en attachments te activeren. Om de gerelateerde tabel of feature class te optimaliseren voegt u een veld toe van het data type GUID (in dit voorbeeld heet dit veld ‘InspectieID’). Herhaal deze stap eventueel nog voor een derde tabel of feature class.

Aanmaken van Relationship Classes
Nu de losse componenten klaar zijn voor gebruik gaat u met de tool ‘Create Relationship Class’ een relatie aanmaken tussen de brondata en de gerelateerde data.

U doorloopt hierbij de volgende stappen:
- Kies bij ‘Origin Table’ de feature class met de brondata (in dit voorbeeld ‘Brandkranen’).
- Kies bij ‘Destination Table’ de tabel of feature class met gerelateerde data (‘Inspecties’).
- Geef een naam aan de ‘Output Relationship Class’.
- Kies een relatie-type: ‘Single’ in het geval van een onafhankelijke objectrelatie of ‘Composite’ in het geval van een afhankelijke objectrelatie (in dit voorbeeld kiezen we voor ‘Composite’).
- Kies een manier waarop wijzigingen tussen de ‘origin’ en ‘destination’ tabel worden doorgegeven (in dit voorbeeld kiezen we ‘forward’).
- Kies bij Cardinality ‘One to many’ (1:M - hiermee kan elke feature in de brontabel gerelateerd worden aan meerdere attributen in de gerelateerde tabel).
- Kies bij ‘Origin Primary Key’ het Global ID veld en bij ‘Origin Foreign Key’ het GUID veld.
- Klik op ‘Run’ om de tool met aangegeven parameters uit te voeren.
Dit proces kun je vervolgens herhalen voor een nieuwe relatie vanuit de gerelateerde data (zoals tussen ‘Inspecties’ en ‘Schademeldingen’) of voor een nieuwe relatie vanuit de brondata.
Publiceren naar het portaal
Wanneer de relationship classes zijn aangemaakt kun je de originele feature class met de gerelateerde tabellen toevoegen aan een kaart en publiceren naar een ArcGIS Online-portaal of Portal for ArcGIS.
Let hierbij op dat de editing-mogelijkheden aanstaan en dat voor offline gebruik van Collector ook de synchronisatie-opties zijn geactiveerd. Edit-rechten worden op feature service-niveau beheerd. Als je gerelateerde records wilt kunnen editen, moet de feature service dus ook bewerkbaar zijn. Binnen de web map zelf kun je, indien gewenst, editing uitzetten op de originele feature class zodat enkel de gerelateerde records te editen zijn.

Een web map configureren
In ArcGIS Online of Portal for ArcGIS maak je een web map aan op basis van de feature service die is aangemaakt. Het is slim om de lagen en tabellen een logische naam te geven in de web map, omdat dit de ervaring binnen apps zoals Field Maps verbetert.
Verder is het belangrijk dat pop-ups zijn ingeschakeld voor alle objectlagen en tabellen. Als dit niet gebeurt, worden gerelateerde tabellen niet in het formulier weergegeven. Verder kun je met de pop-up configuratie instellen hoe de attributen worden weergegeven of gewijzigd.
Inwinnen van gegevens via Field Maps
Als de web map goed is geconfigureerd, wordt het tijd om de mogelijkheden binnen Field Maps te ontdekken. De app ondersteunt op dit moment de volgende relatie typen:
- Feature-to-table relaties (1-op-1 en 1-op-veel)
- Feature-to-feature relaties (1-op-1 en 1-op-veel)
- Table-to-table relaties (als de eerste tabel via een feature wordt benaderd)
Field Maps ondersteunt ook complexe relaties (zoals: brandkraan > inspectie > schademelding). Natuurlijk kun je ook meerdere relaties maken (zoals: brandkraan > inspectie, brandkraan > materiaal etc.). Wanneer je op een object uit de originele feature class tikt, krijg je via de knop links onderaan de gerelateerde records te zien en heb je de mogelijkheid om een nieuw record aan te maken.

Een gerelateerd record wordt behandeld als een sub-formulier van het originele object. Dit geldt ook voor complexe relaties die nog een niveau verder gaan. Op deze manier navigeer je vanuit de originele feature class door alle gerelateerde data heen. Wanneer het gerelateerde record niet in een tabel wordt aangemaakt, maar in een tweede feature class, zal de keuze worden gegeven om het gerelateerde feature type in te winnen.
Met gerelateerde data kun je assetmanagement naar een volgend niveau tillen door relevante data te integreren binnen het inspectieproces met Field Maps.