För ett tag sedan skrev jag ett blogginlägg om geodatabasspecifika regler som gör geoobjektklassen bättre än shapefilen. Men hur fungerar det i praktiken, och hur implementerar man domäner på ett bra sätt i sitt arbetsflöde?

I det tidigare blogginlägget beskriver jag domäner som ett sätt att säkerhetsställa bibehållandet av attributens integritet genom att tillhandahålla en lista med godtagbara attributvärden. Följ mitt arbetsflöde nedan för att generera din första domändrivna fältapp.

Domäner kan du skapa i både ArcGIS Pro och i portalen. Jag tänker visa hur det går till i den förstnämnda. Så nu kör vi, starta ArcGIS Pro.

Skapa eller välj en geoobjektklass med ett par olika fält, och markera det i innehållsfönstret.

Klicka på fliken Data, och sedan Domains.

Klicka på fliken Data, och sedan Domains.

Klicka New Domain för att skapa en ny domän.

Klicka New Domain för att skapa en ny domän.

Två saker vill jag betona innan vi går vidare:

  1. Domäner är inte specifika för en geoobjektklass utan existerar som en applicerbar regel för alla geoobjektklasser i geodatabasen. Du kan därför använda samma domän för flera separata lager. Detta är användbart till exempel när man vill kunna ange samma typ av status (exempelvis för ärendehantering; Mottagen, Avvisad etc) inom flera olika lager.
  2. Det finns två olika typer av domänen: kodade värdedomäner (coded value domains) och intervalldomäner (range domains). Fortsätt läsa för att lära dig skillnaden.

Börja med att ge domänen ett namn och en beskrivning.

Ett av de vanliga misstagen jag möter är att man slarvar med namngivningen och struntar i beskrivningen. Detta skapar generellt bara onödiga kommunikationshinder och att domänen tolkas inkorrekt.

Välj ett namn av värde och skriv en beskrivning som anger ett användningsområde och kompletterar namnet.

Välj ett namn av värde och skriv en beskrivning som anger ett användningsområde och kompletterar namnet.

Välj fälttyp, det här är otroligt viktigt. Domänen måste vara av samma fälttyp som fältet i geoobjektklassen för att det ska gå att applicera den där. Väljer du fälttypen text när du skapar domänen kan den bara appliceras på fält av typen text. Det är ganska rimligt, tycker jag.

Välj fälttyp, det här är otroligt viktigt.

Nu är det dags att välja domäntyp, och som jag tidigare lovade så ska jag nu förklara vad som skiljer de två åt.

Vi tar statusexemplet igen.

Vill du populera ett fält med ett antal olika ord som egentligen inte har något med varandra att göra såsom orden avvisad, godkänd och mottagen ska du skapa en kodad värdedomän. Domänen består då av ett antal olika koder som representeras av värdena du vill ska visas i attributtabellen. Exempelvis: 1-avvisad, 2-godkänd och 3-mottagen.

I databasen lagras bara koden, vilket generellt sparar mycket plats.

Om du är ute efter att kunna populera ditt fält med ett numeriskt värde, säg graden luftfuktighet i procent, väljer du att skapa en intervalldomän. Dessa domäner kan endast appliceras på numeriska fält.

För dessa domäner anger du ett spann med giltiga värden, i det här fallet 0–100 vilket representerar procenten.

Ett spann med giltiga värden

Nu låter vi resterande inställningar vara på deras förinställda alternativ Default. Gå vidare och börja bygga dina domäner. Mina exempel ser du nedan.

Stäng domänvyn när du är klar och öppna i stället fältvyn för den geoobjektklass du vill applicera domänen på.

I kolumnen Domain väljer du din nya domän och sparar sedan. Om du nu skapar nya objekt inom lagret kommer du komma populera det fältet med domänens värden.

Populera fältet med domänens värden

Populerade fält

Den verkliga styrkan ligger i att publicera geoobjektklassen som en driftad tjänst på ArcGIS Online.

Det första du måste göra där är att aktivera redigering för lagret – annars kan du inte skapa nya objekt i det i ArcGIS Collector. Sedan lägger du till det i en webbkarta som du sparar. Den går nu att öppna i ArcGIS Collector och om du testar att lägga till en ny punkt i kartan kan du nu populera dess fält med hjälp av domänen.

Du har nu genererat dig ett sätt att:

  1. Samla in mer information för relativt mindre utrymme i databasen.
  2. Människosäkra din datainsamling – inga fler fel i datan för att någon misstolkar, läser fel eller slinter på tangenterna.

Lästips: