Rumslig sammanfogning

En spatial koppling är en operation i ett geografiskt informationssystem (GIS) eller rumslig databas som kombinerar attributtabellerna för två rumsliga lager baserat på en önskad rumslig relation mellan deras geometrier. Det liknar tabellanslutningsoperationen i relationsdatabaser vid sammanslagning av två tabeller, men varje par av rader är korrelerade baserat på någon form av matchande plats snarare än ett gemensamt nyckelvärde . Det liknar också vektoröverlagringsoperationer som är vanliga i GIS-programvara som Intersect och Union vid sammanslagning av två rumsliga datamängder, men utdata innehåller inte en sammansatt geometri, bara sammanslagna attribut.

Spatial joins används i en mängd olika rumsliga analys- och hanteringsapplikationer, inklusive allokering av individer till distrikt och statistisk aggregering. Spatial join finns i de flesta, om inte alla, GIS och spatial databasprogram, även om denna term inte alltid används, och ibland måste den härledas indirekt genom kombinationen av flera verktyg.

Rumsliga relationspredikat

Exempel på topologiska rumsliga relationer.

Grundläggande för den rumsliga sammanfogningsoperationen är formuleringen av ett rumsligt förhållande mellan två geometriska primitiver som ett logiskt predikat ; det vill säga ett kriterium som kan utvärderas som sant eller falskt. Till exempel, "A är mindre än 5 km från B" skulle vara sant om avståndet mellan punkterna A och B är 3 km, och falskt om avståndet är 10 km. Dessa relationspredikat kan vara av två typer:

  • En topologisk relation är ett kvalitativt förhållande mellan två former som inte är beroende av ett mätbart utrymme (det vill säga koordinater). Vanliga exempel på sådana predikat inkluderar "A är helt inuti B", "A överlappar B", "A ligger intill B" (dvs. delar en gräns men inget inre) och "A är osammanhängande från B" (vidrör inte vid Allt). Dessa specificeras vanligtvis enligt någon form av 9-korsningsmodellen , som är inkorporerad i den internationella Simple Feature Access- specifikationen (ISO 19125-2).
  • En metrisk relation är ett kvantitativt (mätbart) förhållande mellan två former i ett koordinatutrymme, oftast ett avstånd eller en riktning. Vanliga exempel är "A ligger rakt norr om B" eller "A är mindre än 5 km från B." Inte alla programvaruimplementeringar stöder metriska relationer.

Observera att vissa relationer är kommutativa (t.ex. A överlappar B om och endast om B överlappar A) medan andra inte är det (t.ex. A är inom B betyder inte att B är inom A).

De geometriska primitiverna som är involverade i dessa relationer kan vara av vilken dimension som helst (punkter, linjer eller regioner), men vissa relationer kan bara ha betydelse med vissa dimensioner. Till exempel, "A är inom B" har en tydlig betydelse om A är en punkt och B är en region, men är meningslös om både A och B är punkter. Andra relationer kan vara vaga; till exempel kan avståndet mellan två regioner eller två linjer tolkas som det minimala avståndet mellan deras närmaste gränser, eller ett medelavstånd mellan deras tyngdpunkter.

Drift

Som i en relationstabellkoppling enligt definitionen i den relationella algebra , tillhandahålls två indatalager eller tabeller (hädanefter X och Y ), och utdata är en tabell som innehåller alla kolumner för var och en av ingångarna (eller någon delmängd därav om vald av användaren). Raderna i den nya tabellen är en delmängd av Cross join eller kartesisk produkt av de två tabellerna, alla möjliga par av rader {X1-Y1, X1-Y2, X1-Y3, X2-Y1, X2-Y2, X2-Y3, X3-Y1, X3-Y2, X3-Y3, ...}. Istället för att inkludera alla möjliga kombinationer, utvärderas varje par enligt det givna rumsliga predikatet; de för vilka predikatet är sant anses "matcha" och behålls, medan de för vilka predikatet är falskt kasseras.

Tänk till exempel på följande två tabeller:

Studentbord
Student-ID Efternamn GPA Bostad: punkt
1 Rafferty 3,56
2 Jones 2,75
3 Heisenberg 3,98
4 Robinson 1,56
5 Smed 2,67
6 Williams 3,46
Skolor bord
Skol-ID Skolnamn Distrikt: polygon Byggnad: punkt
31 Belknap Elementary
33 Parkview Elementary
34 Smith Elementary
35 Central Elementary

När den spatiala kopplingen exekveras måste riktningen för bifogningen anges, av två anledningar: 1) det givna rumsliga predikatet kanske inte är kommutativt, och 2) det finns ofta ett många-till-ett förhållande mellan raderna (t.ex. många elever finns inom varje skoldistrikt). I exemplet ovan skulle ett vanligt mål vara att sammanfoga skoltabellen med elevtabellen (måltabellen ), med relationspredikatet "student.bostad inom skola.distrikt." Om man antar att distrikten inte överlappar varandra, kommer varje elevpoäng inte att finnas i mer än ett skoldistrikt, så resultatet skulle ha samma rader som elevtabellen, med motsvarande skolattribut bifogade, som:

Studenter x Skolor
Student-ID Efternamn GPA Bostad: punkt Skol-ID Skolnamn
1 Rafferty 3,56 33 Parkview Elementary
2 Jones 2,75 34 Smith Elementary
3 Heisenberg 3,98 35 Central Elementary
4 Robinson 1,56 33 Parkview Elementary
5 Smed 2,67 34 Smith Elementary
6 Williams 3,46 33 Parkview Elementary

Den omvända operationen, i detta fall att bifoga elevinformationen till skoltabellen, är inte lika enkel eftersom många rader måste sammanfogas till en rad. En del GIS-program tillåter inte den här operationen, men de flesta implementeringar tillåter en aggregerad koppling , där aggregerade sammanfattningar av de matchande raderna kan inkluderas, såsom matriser, räkningar, summor eller medel. Till exempel kan resultattabellen se ut så här:

Skolor x Elever
Skol-ID Skolnamn Distrikt: polygon Byggnad: punkt Students_COUNT GPA_MEAN
31 Belknap Elementary 0 NULL
33 Parkview Elementary 3 2,86
34 Smith Elementary 2 2,71
35 Central Elementary 1 3,98

Ett annat alternativ när det finns flera matchningar är att använda något kriterium för att välja en av raderna från matchningsuppsättningen, vanligtvis ett rumsligt optimeringskriterium. Till exempel skulle man kunna sammanfoga skolbyggnadspunkterna (inte distrikten) till elevens invånarpoäng genom att välja den skola som ligger närmast varje elev. Inte all programvara implementerar detta alternativ direkt, även om det i vissa fall kan härledas genom en kombination av verktyg.

externa länkar