Daugiau

Skaičiuojamas taškų skaičius konkrečiame daugiakampyje asmenų, naudojančių R, ​​sąraše?


Turiu asmenų rinkinio platinimo taškus ir daugiakampių failą su atitinkamais ID.

Ką norėčiau padaryti, tai pereiti ir kiekvienam asmeniui rasti bendrą taškų skaičių ir skaičių, kuris patenka į atitinkamą daugiakampį, tada išvestį pateikti skaičiuoklės forma su stulpeliu ID; Bendras taškų skaičius; taškus daugiakampyje.


Galite naudotipoli.skaičiuojaįrankį „GISTools“ pakuotėje.


reikalauti („GISTools“) # Naudoti duomenų rinkinio duomenų pavyzdžius („newhaven“) ) # Konvertuokite skaičius į duomenų rėmelį df = data.frame (skaičius) # Rašykite duomenų rėmelį į .csv failą setwd ("C:/temp") write.table (df, file = "dataframe.csv", sep = ",", col.names = NA) # Pramogoms: apskaičiuokite tankį ir susiekite jį choropleth žemėlapyje choropleth (blokai, skaičiavimai/daugkartinės sritys (blokai))

Paketas „rgeos“ turi funkciją

g Sudėtyje yra

Pagalbos puslapyje rašoma

„gContains“ grąžina TRUE, jei nė vienas „spgeom2“ taškas nėra už „spgeom1“ ribų ir bent vienas „spgeom2“ taškas nepatenka į „spgeom1“.

Jei tai atliksite per kiekvieną paskirstymo tašką funkcijos „kuri“ viduje, gausite vektorių, kurį galėsite išanalizuoti naudodami „table“

Pateikite mums atkuriamą pavyzdį (naudojant figūrinius failus žemėlapių įrankiuose ir pan.), Ir mes galime duoti kodą atsakymui atkurti ...


Apibendrinkite „ArcGIS Pro“ vidutines vertes per „R-ArcGIS Bridge“

Jei kada nors troškote „mediana“ kaip parinktis išskleidžiamajame „Esri“ įrankio „Apibendrinti viduje“ sąraše, kai dirbate su įprastai nepaskirstytais duomenimis, ilgai nelaukite! Naudokite šį scenarijų ir „R-ArcGIS Bridge“, kad patenkintumėte neparametrinius funkcijų poreikius.

Kai jūsų duomenys paprastai nėra platinami, ieškokite sprendimo, kuris išlaiko jūsų duomenų vientisumą, ne pagal ribotas išskleidžiamojo meniu parinktis. „R-ArcGIS Bridge“ suteikia galimybę naudoti R, kuriant statistinį modelį (šiuo atveju apskaičiuojant vidutinę vertę pagal geografinę vietą), o „ArcGIS Pro“-paleisti ir įtraukti scenarijų į didesnę „Esri“ darbo eigą.


Skaičiuojamas taškų skaičius tam tikrame daugiakampyje asmenų, naudojančių R, ​​sąraše? - Geografinės informacijos sistemos

Platuma ir ilguma pateikiamos kiekviename duomenų rinkinio oro uoste.
Nupieškime Europos žemėlapį naudodami rworldmap paketą, kaip buvo parodyta ankstesniame žemėlapių įraše:

Tada oro uostus galime lengvai išdėstyti žemėlapyje:

Pridedami matmenys

Įžanginiame įraše minėjau, kad „ggmap“ iš tikrųjų remiasi „ggplot“ grafikos varikliu, taigi, susiejant duomenis su „ggmap“, galima rasti visas „ggplot“ stipriąsias puses.
Čia parodysiu porą pavyzdžių, kaip tuo pasinaudoti.

Įkelkime kitą duomenų rinkinį iš „OpenFlights“ R.

Pradėdami nuo maršrutų duomenų rinkinio, suskaičiuokime maršrutų, išvykstančių iš ir atvykstančių į tam tikrą oro uostą, skaičių. Šiai užduočiai naudoju dar vieną labai naudingą Hadley Wickham paketą.

Tada pridėkime informaciją apie išvykstančius ir atvykstančius skrydžius prie oro uostų duomenų rinkinio (kuriame yra koordinačių duomenys).

Dabar tikslas yra Europos žemėlapyje nubrėžti oro uostus kaip apskritimus, kurių plotas yra proporcingas išvykstančių skrydžių skaičiui.

Pirmasis žingsnis yra gauti žemėlapį iš Google žemėlapiai (arba viena iš kitų galimų paslaugų), kaip buvo parodyta praėjusį kartą.

Šios eilutės jau priartina mus prie norimos diagramos sudarymo.

Komanda ggmap paruošia žemėlapio brėžinį. Funkcija „geom_point“ prideda duomenų taškų sluoksnį, kaip paprastai būtų daroma naudojant „ggplot“. Išsamus ggplot paaiškinimas gerokai viršija šį įrašą, tačiau čia pateikiama greita informacija apie tai, kas perduodama geom_point:
- aes nurodo, kaip turi būti sugeneruota estetika (šiuo atveju taškai), lon kintamasis yra susietas su x ašimi, lat - y, o taškų dydis yra proporcingas kintamųjų skrydžių vertei (iš tikrųjų jos kvadratinei šakniai) )
- duomenys nurodo duomenų rinkinį, kuriame reikia rasti aes perduotą kintamąjį
- alfa parametras kontroliuoja nubrėžtų taškų skaidrumą (dėl tam tikro skaidrumo persidengiančius apskritimus bus galima atskirti).

Štai kas rodoma R brėžimo lange, kai vienas į konsolę įveda mapPoints.

Keletas legendos pakeitimų (kad ji praneštų apie faktinį išvykimų skaičių, o ne kvadratinę šaknį), o diagrama paruošta publikavimui.


6 atsakymai 6

Paveikslėlyje parodyti kai kurie priešiniai pavyzdžiai, įskaitant tą, kuris rodo, kad problema nėra tokia paprasta, kaip patikrinti, ar visos vieno daugiakampio viršūnės yra kito daugiakampio viduje.

Vienas iš galimų būdų būtų patikrinti, ar nė viena iš dviejų daugiakampių kraštinių nesikerta ir ar viena viršūnė yra viduje.

Tegul $ p_1 $ yra keturkampis su viršūnėmis $ (1,0), (0,1), (-1,0), (0, -1) $. Tada jūsų sąlygos taikomos $ b $ iš $ p_1 $ apribojimo langeliui, o ne pačiai $ p_1 $. Visų pirma, mažas $ p_0 $ telpa viename $ b $ kampe, bet yra visiškai už $ p_1 $.

Net nepakanka naudoti taško daugiakampio algoritmą, kad patikrintumėte, ar $ p_0 $ viršūnės yra $ p_1 $ viduje, nes $ p_1 $ gali būti ne išgaubtos.

Vienintelis bendras būdas yra patikrinti, ar jų sąjunga yra $ p_1 $. Tam jums gali prireikti daugiakampio kirpimo įrankio, pvz., „Gpc“. Taip pat žiūrėkite Weilerio - Athertono kirpimo algoritmą ir logines operacijas su daugiakampiais.

Ne, tai visai neveikia.

Šis ribojimo langelio bandymas garantuoja, kad daugiakampiai yra suskaidyti, kai langeliai yra suskaidyti. Kitaip nieko nesako.

Santykinai paprastas ir teisingas testas yra patikrinti, ar nėra porinių šoninių sankryžų, o tai atliekama atliekant išsamius segmentų ir segmentų sankirtos testus. Tada arba daugiakampiai yra atskiriami, arba vienas yra visiškai įtrauktas į kitą. Galutinį sprendimą priimate imdami tam tikrą viršūnę ir taikydami tašką daugiakampyje su kitu daugiakampiu.

Jei ieškote veiksmingo sprendimo, galite pasinaudoti „sweepline“ algoritmu, kurio metu perbraukite horizontalią liniją visose viršūnėse ir sudarysite horizontalių segmentų, kuriuos pjauna daugiakampiai, sąrašą. Tada sumažinsite iki 1D segmento izoliacijos problemos.


Geografinė nusikalstamumo analizė ir matavimo klaida

Yra keturi pagrindiniai duomenų šališkumo šaltiniai, kurie gali turėti įtakos bendruomenės nusikaltimų skirtumų tikslumui, užfiksuotiems policijos statistikoje. Pirma, žinoma, kad gyventojų noras pranešti policijai apie nusikaltimus yra susijęs su individualiais ir kontekstiniais veiksniais, kurie skiriasi įvairiose geografinėse srityse (Hart ir Rennison 2003). Yra demografinių, socialinių, ekonominių ir aplinkos veiksnių, turinčių įtakos pranešimams apie nusikaltimus. Pavyzdžiui, aukų lytis, amžius, užimtumo statusas, išsilavinimas ir etninė grupė yra geri nuspėjantys tikimybę pranešti policijai apie nusikaltimus (Hart ir Rennison 2003). Kadangi kai kurios iš šių gyventojų savybių yra sutelktos tam tikrose srityse, mes taip pat tikimės, kad pranešimų apie nusikaltimus rodikliai įvairiose srityse skirsis. Paprastai nepasiturintiems rajonams ir teritorijoms, kuriose yra daug imigrantų, pranešama apie nusikalstamumą mažiau nei vidutinės klasės vietovėse (Baumer 2002 Xie ir Baumer 2019a Goudriaan ir kt. 2006), o darniose vietovėse vykstantys nusikaltimai turi didesnę tikimybę būti žinomiems. policijai (Goudriaan ir kt. 2006 Jackson ir kt. 2013). Be to, kaimo vietovių gyventojai paprastai yra labiau linkę bendradarbiauti su policijos tarnybomis nei miesto piliečiai (Hart ir Rennison 2003). Tyrimai taip pat parodė, kad incidento rimtumas ir žala yra labai glaudžiai susiję su sprendimu pranešti (Baumer 2002 Xie ir Baumer 2019b).

Antra, tyrimai parodė, kad bendras nusikalstamumo lygis ir piliečių suvokimas apie policijos pajėgas, kurie taip pat skiriasi įvairiose srityse, turi įtakos gyventojų norui bendradarbiauti su policija (pvz., Xie 2014). Bergas ir kt. (2013) rodo, kad svarbiausias kontekstinis veiksnys, paaiškinantis pranešimus apie nusikaltimus, yra nusikalstamumo lygis šioje srityje. Jackson ir kt. (2013) teigia, kad pasitikėjimas policijos teisingumu ir gyventojų požiūris į policijos teisėtumą yra labai svarbus norint nuspėti norą bendradarbiauti su policijos pajėgomis.

Trečia, nevienoda policijos kontrolė įvairiose srityse kai kuriose vietose gali išpūsti nusikalstamumo statistiką, o kitose - ne. Schnebly (2008) rodo, kad miestuose, kuriuose yra daugiau policijos pareigūnų, apmokytų į bendruomenę orientuotos policijos, paprastai pranešama daugiau apie policiją, tuo tarpu McCandless ir kt. (2016) teigia, kad blogai vykdoma sustojimo ir paieškos praktika gali atgrasyti gyventojus nuo bendradarbiavimo su policija.

Ketvirta, skirtingų policijos pajėgų taikomos skaičiavimo taisyklės gali skirtis (Aebi ir Linde 2012). Tikimasi, kad tai nebus pagrindinis klaidų šaltinis Anglijoje ir Velse, nes visos 43 policijos pajėgos laikosi bendrų skaičiavimo taisyklių (Nacionaliniai nusikaltimų registravimo standartai ir Vidaus reikalų ministerijos užregistruotų nusikaltimų skaičiavimo taisyklės). Nepaisant to, atkreipiame dėmesį, kad 2014 m. Jos Didenybės Stabilių apsaugos ir priešgaisrinės apsaugos bei gelbėjimo tarnybų inspekcija atliko policijos statistikos patikrinimą ir padarė išvadą, kad tam tikros skaičiavimo praktikos buvo skirtingos tarp policijos pajėgų (HMIC 2014).

Kai kuriuos iš šių matavimo klaidų šaltinių paminėjo Skoganas (1977: 41), teigdamas, kad tamsi nusikaltimo figūra „riboja baudžiamosios justicijos sistemos atgrasymo galimybes, prisideda prie netinkamo policijos išteklių paskirstymo, todėl aukos tampa netinkamos viešajam ir privačiam asmeniui. naudą, daro įtaką draudimo išlaidoms ir padeda formuoti policijos vaidmenį visuomenėje “. Be to, JK viešoji administracija taip pat pripažįsta, kad „yra kaupiami įrodymai, rodantys, kad pagrindiniai policijos užfiksuoti nusikaltimų duomenys gali būti nepatikimi“ (JK statistikos tarnyba, 2014: 2). Dėl to 2014 m. Duomenys apie nusikalstamumą buvo pašalinti iš JK nacionalinės statistikos.

Atsižvelgiant į tai, kad daugelis veiksnių, sukeliančių policijos užfiksuotų nusikalstamumo duomenų šališkumo ir tikslumo skirtumus, yra netolygiai pasiskirstę erdvėje, net tame pačiame mieste, tikėtina, kad šališkumas, turintis įtakos nusikaltimų duomenims, labai skiriasi įvairiose srityse. Iš tiesų šališkumo ir tikslumo klausimai gali būti dar labiau apsunkinami, nes geografinė skiriamoji geba tampa smulkesnė. Oberwittleris ir Wikströmas (2009: 41) teigia, kad norint analizuoti nusikalstamumą, „mažesni geografiniai vienetai yra vienalytiškesni, taigi ir tiksliau matuoja aplinką. Kitaip tariant, mažesnis yra geresnis “. Teigiama, kad mažesni analizės vienetai geriau paaiškina nusikalstamą elgesį, nes nusikalstamumą lemia galimybės, atsirandančios artimoje aplinkoje. Tačiau mažesniems analizės vienetams taip pat gali būti teikiama pirmenybė siekiant paaiškinti nusikaltimų, kurie lieka paslėpti policijos statistikoje, skaičių (dėl to, kad aukos ir liudytojai nepraneša arba policija neužfiksuoja). „Apibendrinimo šališkumas“, teigiantis, kad tai, kas tiesa grupei, taip pat turėtų būti taikoma tos grupės asmenims, yra linkęs būti naudojamas pateisinti mažesnių erdvinių vienetų pasirinkimą atliekant geografinį nusikalstamumą dėl šio gyvenamųjų savybių vienodumo. Ir vis dėlto didelis vidinis homogeniškumas ir vienetų nevienalytiškumas gali sukelti didesnį šališkumo ir tikslumo skirtumą tarp vienetų. Būtų paradoksalu ir save žlugdanti, jei, siekiant išvengti kaupimo šališkumo naudojant mikroskopinius vienetus, tyrimai padidina riziką, kad nusikalstamumo statistiką paveiks šališkumas ir netikslumas. Tai reikšmingai atsilieptų akademinėms pastangoms ir policijos praktikai, dokumentuojančiai ir paaiškinančiai bendruomenės nusikaltimų skirtumus.


Skaičiuojamas taškų skaičius tam tikrame daugiakampyje asmenų, naudojančių R, ​​sąraše? - Geografinės informacijos sistemos

Atviras geografinis erdvinis konsorciumas

Paskelbimo data: 2017-08-18

Papildomi formatai (informaciniai):

Žiūrėkite šio dokumento klaidas,
kurie gali apimti kai kuriuos norminius pataisymus.

Ankstesnė versija (informatyvi): html

Šio OGC ® dokumento vidinis nuorodos numeris: 17-002r1

Kategorija: OGC ® Bendrijos standartas

„OGC GeoRSS“ kodavimo standartas

Pranešimas apie autorių teises

Autorių teisės © 2017 „Open Geospatial Consortium“
Norėdami gauti papildomų naudojimo teisių, apsilankykite http://www.opengeospatial.org/legal/.

Šis dokumentas yra OGC narys, patvirtintas tarptautinio Bendrijos standarto. Šis Bendrijos standartas buvo sukurtas ne OGC, o kilmės šalis gali ir toliau atnaujinti savo darbą, tačiau šis dokumentas yra fiksuoto turinio. Šį dokumentą galima gauti nemokamai, nediskriminuojant. Šio dokumento gavėjai raginami kartu su savo pastabomis pateikti pranešimą apie visas jiems žinomas patento teises ir pateikti patvirtinamuosius dokumentus.

Dokumento tipas: OGC bendruomenės standartas
Dokumento potipis:
Dokumento etapas: Patvirtinta viešai išleisti
Dokumento kalba: Anglų

„Attribution-ShareAlike“
CC BY-SA

Ši licencija leidžia kitiems remiksuoti, patobulinti ir remtis „GeoRSS“ darbu net komerciniais tikslais, jei tik jie jus įskaito ir licencijuoja naujus kūrinius tomis pačiomis sąlygomis. Ši licencija dažnai lyginama su „copyleft“ nemokamos ir atviro kodo programinės įrangos licencijomis. Visi nauji darbai, pagrįsti „GeoRSS“ standartu, turės tą pačią licenciją, todėl bet kokie išvestiniai produktai taip pat leis juos naudoti komerciniais tikslais. Tai yra „Wikipedia“ naudojama licencija ir rekomenduojama medžiagai, kuriai būtų naudinga įtraukti Vikipedijos turinį ir panašiai licencijuotus projektus. https://creativecommons.org/licenses/by-sa/4.0/ ir https://creativecommons.org/licenses/by-sa/4.0/legalcode

„GeoRSS“ sukurtas kaip lengvas, bendruomenės skatinamas būdas išplėsti esamus RSS kanalus paprasta geografine informacija. „GeoRSS“ standartas numato vietos kodavimą sąveikaujančiu būdu, kad programos galėtų prašyti, kaupti, bendrinti ir susieti žemėlapius pagal geografines žymas.

ii. Šio OGC dokumento turinio šaltinis

Didžioji šio OGC dokumento turinio dalis yra tiesioginė turinio, esančio www.georss.org, kopija. Jokie norminiai turinio pakeitimai nebuvo padaryti. Šiame OGC dokumente yra turinio, kurio nėra www.georss.org. Konkrečiai kalbant, šio straipsnio skiltys „Santrauka“, „Raktiniai žodžiai“, „Pratarmė“, „Pateikiančios organizacijos“, „Patvirtintojai“, „Terminai ir apibrėžimai“ ir „Nuorodos“ nerandamos svetainėje „georss.org“.

Šis dokumentas buvo sukurtas iš turinio, esančio www.georss.org 2017 m. Sausio pabaigoje. Šio dokumento turinį peržiūrėjo pirminė pateikimo komanda ir jis paskelbtas tiksliu ir teisingu

Toliau pateikiami raktiniai žodžiai, kuriuos turi naudoti paieškos sistemos ir dokumentų katalogai.

ogcdoc, OGC dokumentas, georss, rss, feeds

Pradinė „GeoRSS“ specifikacija buvo „Geo-IT“ specialistų, OGC darbuotojų ir narių bei kitų labai kūrybingų asmenų bendradarbiavimo rezultatas. Ši grupė nusprendė apibrėžti kuo paprastesnį geografinį kodavimą, kuris vis tiek būtų pakankamai išraiškingas ir pakankamai draugiškas standartams, kad patenkintų profesionalią geografinės erdvės bendruomenę ir tuo pačiu būtų pakankamai paprastas, kad greitai sutiktų iš pagrindinių žiniatinklio ir RSS kūrėjų. Pirmoji „GeoRSS“ bendruomenės versija buvo išleista 2006 m.

Atkreipiamas dėmesys į galimybę, kad kai kurie šio dokumento elementai gali būti patentuojami. Atviras geografinis erdvinis konsorciumas nėra atsakingas už visų tokių patentų teisių nustatymą.

Šio dokumento gavėjų prašoma kartu su savo pastabomis pateikti pranešimą apie bet kokius atitinkamus patentinius reikalavimus ar kitas intelektinės nuosavybės teises, apie kurias jie gali žinoti, kad gali būti pažeistas bet koks šiame dokumente nustatyto standarto įgyvendinimas, ir patvirtinti dokumentacija.

vi. Pateikiančios organizacijos

Šios organizacijos Open Geospatial Consortium (OGC) pateikė šį dokumentą:

Carl Reed ir jo partneriai Mikelis Maronas (kaip individas) „Tumblingwalls Galdos IBM“

Visi klausimai, susiję su šiuo pateikimu, turėtų būti nukreipti į redaktorių arba pateikėjus:


Parametrai

Įvesties taškų funkcijų klasė turi būti sujungta į erdvėlaikio dėžes.

Išvesties netCDF duomenų kubas, kuris bus sukurtas taip, kad jame būtų įvesties ypatybių taškų duomenų skaičius ir santraukos.

Laukas, kuriame yra kiekvieno taško data ir laikas (laiko žyma). Šis laukas turi būti datos tipo.

Etaloninis erdvės ir laiko kubas, naudojamas apibrėžti išvesties erdvės laiko kubo analizės mastą, dėžės matmenis ir dėžės derinimą. Laiko žingsnių intervalas, atstumo intervalas ir atskaitos laikas taip pat gaunami iš šablono kubo. Šis šablono kubas turi būti netCDF (.nc) failas, sukurtas naudojant šį įrankį.

Erdvės ir laiko kubas, sukurtas sujungus į apibrėžtas vietas, negali būti naudojamas kaip šablono kubas.

Sekundžių, minučių, valandų, dienų, savaičių ar metų skaičius, kuris parodys vieną laiko žingsnį. Visi taškai per tą patį laiko žingsnį ir atstumo intervalą bus sumuojami. (Kai pateikiamas šablono kubas, šis parametras ignoruojamas, o laiko žingsnio intervalo vertė gaunama iš šablono kubo.)

Apibrėžia, kaip bus atliekamas agregavimas pagal nurodytą laiko_žingsnio intervalą. Jei pateikiamas šablono kubas, su šablono kubu susietas laiko_pakopo_lyginimas pakeičia šį parametro nustatymą ir naudojamas šablono_kubo laiko_pakopo išlyginimas.

  • Pabaigos laikas - laiko veiksmai sutampa su paskutinio įvykio laiku ir kaupiami atgal.
  • Pradžios laikas - laiko veiksmai sutampa su pirmą kartą įvykiu ir kaupiami į priekį laiku.
  • Atskaitos laikas - laiko veiksmai sutampa su konkrečia jūsų nurodyta data/laiku. Jei visų įvesties funkcijų taškų laiko žyma yra didesnė už jūsų nurodytą atskaitos laiką (arba ji tiksliai patenka į įvesties funkcijų pradžios laiką), laiko žingsnių intervalas prasidės tuo atskaitos laiku ir bus apibendrintas laiku (kaip atsiranda sulygiuojant pradžios laiką). Jei visų įvesties funkcijų taškų laiko žyma yra mažesnė už jūsų nurodytą referencinį laiką (arba ji tiksliai patenka į įvesties funkcijų pabaigos laiką), laiko žingsnių intervalas baigsis tuo atskaitiniu laiku ir bus sugrąžintas atgal (kaip atsiranda sulygiuojant pabaigos laiką). Jei jūsų pateiktas atskaitos laikas yra jūsų duomenų laiko vidurio viduryje, bus sukurtas laiko intervalo intervalas, kuris baigsis nurodytu referenciniu laiku (kaip ir sulyginant pabaigos laiką), prieš ir po jo bus sukurti papildomi intervalai. referencinis laikas, kol bus apimta visa jūsų duomenų apimtis.

Data ir laikas, kuriuos reikia naudoti norint suderinti laiko žingsnių intervalus. Pavyzdžiui, jei norite, kad duomenys būtų saugomi kas savaitę nuo pirmadienio iki sekmadienio, galite nustatyti sekmadienio referencinį laiką vidurnaktį, kad užtikrintumėte, kad dėžės pertraukos tarp sekmadienio ir pirmadienio vidurnakčio. (Kai pateikiamas šablono kubas, šis parametras yra išjungtas, o atskaitos laikas pagrįstas šablono kubu.)

Dėžių, naudojamų įvesties funkcijoms kaupti, dydis. Visi taškai, patenkantys į tą patį atstumo intervalą ir laiko žingsnių intervalą, bus sumuojami. Sujungiant į šešiakampį tinklelį, šis atstumas naudojamas kaip aukštis šešiakampių daugiakampių konstravimui. (Kai pateikiamas šablono kubas, šis parametras išjungiamas ir atstumo intervalo vertė bus pagrįsta šablono kubu.)

Skaitinis laukas, kuriame yra atributų reikšmės, naudojamos apskaičiuojant nurodytą statistiką, kai kaupiama į erdvėlaikio kubą. Galima nurodyti kelis statistikos ir laukų derinius. Nulinės vertės bet kuriame iš nurodytų laukų sukels tą funkciją iš išvesties kubo. Jei įvesties funkcijose yra nulinių verčių, prieš kuriant erdvės ir laiko kubą labai rekomenduojama paleisti įrankį Užpildyti trūkstamas vertes.

  • SUM-prideda bendrą nurodyto lauko vertę kiekvienoje dėžėje.
  • MEAN-Apskaičiuoja kiekvieno laukelio nurodyto lauko vidurkį.
  • MIN-randa mažiausią visų nurodyto lauko įrašų vertę kiekvienoje dėžėje.
  • MAX-nustato didžiausią visų nurodyto lauko įrašų vertę kiekvienoje dėžėje.
  • STD-nustato standartinį kiekvienos dėžės lauko verčių nuokrypį.
  • MEDIAN-randa surūšiuotą vidurinę visų nurodyto lauko įrašų vertę kiekvienoje dėžėje.
  • ZEROS-tuščias dėžes užpildo nuliais.
  • SPATIAL_NEIGHBORS-užpildo tuščias dėžes su vidutine erdvinių kaimynų verte
  • SPACE_TIME_NEIGHBORS-užpildo tuščias dėžes su vidutine erdvės laiko kaimynų verte.
  • TEMPORAL_TREND-užpildo tuščias dėžes, naudodamas interpoliuotą vienmatį spline algoritmą.

Nulinės vertės, esančios bet kuriame suvestinės lauko įraše, lemia, kad šios funkcijos bus pašalintos iš išvesties kubo. Jei įvesties funkcijose yra nulinių verčių, labai rekomenduojama pirmiausia paleisti trūkstamų verčių užpildymo įrankį. Jei paleidus įrankį „Užpildyti trūkstamas vertes“ vis dar yra nulinių verčių ir taškų skaičius kiekvienoje dėžėje yra jūsų analizės strategijos dalis, galbūt norėsite sukurti atskirus kubelius, vieną skaičiui (be suvestinių laukų) o vienas skirtas suvestiniams laukams. Jei kiekvienos suvestinės lauko nulinių verčių rinkinys skiriasi, taip pat galite apsvarstyti galimybę sukurti atskirą kubą kiekvienam suvestinės laukui.

Daugiakampio tinklo, į kurį bus kaupiami įvesties ypatybių taškų duomenys, forma.

  • Tinklinis tinklelis - įvesties funkcijos bus sujungtos į kvadratinių (tinklinių) langelių tinklelį.
  • Šešiakampis tinklelis - įvesties ypatybės bus sujungtos į šešiakampių ląstelių tinklelį.
  • Apibrėžtos vietos - įvesties funkcijos bus sujungtos į nurodytas vietas.

Daugiakampio ypatybės, į kurias bus kaupiami įvesties taško duomenys. Tai gali būti, pavyzdžiui, apskričių ribos, policijos smūgiai ar pardavimo teritorijos.

Laukas, kuriame yra kiekvienos unikalios vietos ID numeris.

Įvesties taškų funkcijų klasė turi būti sujungta į erdvėlaikio dėžes.

Išvesties netCDF duomenų kubas, kuris bus sukurtas taip, kad jame būtų įvesties ypatybių taškų duomenų skaičius ir santraukos.

Laukas, kuriame yra kiekvieno taško data ir laikas (laiko žyma). Šis laukas turi būti datos tipo.

Etaloninis erdvės ir laiko kubas, naudojamas apibrėžti analizės išvesties_kubo mastą, dėžės matmenis ir dėžės išlyginimą. „Time_step_interval“, „distance_interval“ ir „reference_time“ reikšmės taip pat gaunamos iš šablono kubo. Šis šablono kubas turi būti netCDF (.nc) failas, sukurtas naudojant šį įrankį.

Erdvės ir laiko kubas, sukurtas sujungus į DEFINED_LOCATIONS, negali būti naudojamas kaip template_cube.

Sekundžių, minučių, valandų, dienų, savaičių ar metų skaičius, kuris parodys vieną laiko žingsnį. Visi taškai per tą patį laiko intervalą ir atstumą intervale bus sujungti. (Kai pateikiamas šablono kubas, šis parametras ignoruojamas, o laiko_žingsnio intervalas gaunamas iš šablono kubo). Tinkamų šio parametro įrašų pavyzdžiai yra 1 savaitė, 13 dienų arba 1 mėnuo.

Apibrėžia, kaip bus atliekamas agregavimas pagal nurodytą laiko_žingsnio intervalą. Jei pateikiamas šablono kubas, su šablono kubu susietas laiko_pakopo_lyginimas pakeičia šį parametro nustatymą ir naudojamas šablono_kubo laiko_pakopo išlyginimas.

  • END_TIME - Laiko žingsniai sutampa su paskutinio įvykio laiku ir kaupiami laiku.
  • START_TIME - laiko veiksmai sutampa su pirmą kartą įvykiu ir kaupiami į priekį laiku.
  • REFERENCE_TIME - laiko veiksmai sutampa su konkrečia jūsų nurodyta data/laiku. Jei visų įvesties funkcijų taškų laiko žyma yra didesnė už jūsų nurodytą referencinį laiką (arba jis tiksliai patenka į įvesties funkcijų pradžios laiką), laiko žingsnių intervalas prasidės tuo atskaitos laiku ir bus apibendrintas laiku (kaip įvyksta sulygiuojant START_TIME). Jei visų įvesties funkcijų taškų laiko žyma yra mažesnė už jūsų nurodytą referencinį laiką (arba ji tiksliai patenka į įvesties funkcijų pabaigos laiką), laiko žingsnių intervalas baigsis tuo atskaitiniu laiku ir bus sugrąžintas atgal (kaip atsiranda su lygiu END_TIME). Jei jūsų pateiktas ataskaitinis laikas yra jūsų duomenų laiko vidurio viduryje, bus sukurtas laiko žingsnių intervalas, kuris baigsis nurodytu referenciniu laiku (kaip tai daroma lyginant END_TIME) papildomi intervalai bus sukurti prieš ir po referencinis laikas, kol bus apimta visa jūsų duomenų apimtis.

Data ir laikas, kuriuos reikia naudoti norint suderinti laiko žingsnių intervalus. Pavyzdžiui, jei norite, kad duomenys būtų saugomi kas savaitę nuo pirmadienio iki sekmadienio, galite nustatyti sekmadienio referencinį laiką vidurnaktį, kad užtikrintumėte, kad dėžės pertraukos tarp sekmadienio ir pirmadienio vidurnakčio. (Kai pateikiamas „template_cube“, šis parametras ignoruojamas ir „reference_time“ yra pagrįstas „template_cube“.)

Dėžių, naudojamų apibendrinti in_features, dydis. Visi taškai, patenkantys į tą patį atstumą_intervalas ir laiko_žingsnio intervalas, bus sumuojami. Sujungiant į šešiakampį tinklelį, šis atstumas naudojamas kaip aukštis šešiakampių daugiakampių konstravimui. (Kai pateikiamas „template_cube“, šis parametras ignoruojamas ir atstumo intervalo vertė bus pagrįsta „template_cube“.)

Skaitinis laukas, kuriame yra atributų reikšmės, naudojamos apskaičiuojant nurodytą statistiką, kai kaupiama į erdvėlaikio kubą. Galima nurodyti kelis statistikos ir laukų derinius. Nulinės vertės bet kuriame iš nurodytų laukų sukels tą funkciją iš išvesties kubo. Jei įvesties funkcijose yra nulinių verčių, prieš kuriant erdvės ir laiko kubą labai rekomenduojama paleisti įrankį Užpildyti trūkstamas vertes.

  • SUM-prideda bendrą nurodyto lauko vertę kiekvienoje dėžėje.
  • MEAN-Apskaičiuoja kiekvieno laukelio nurodyto lauko vidurkį.
  • MIN-randa mažiausią visų nurodyto lauko įrašų vertę kiekvienoje dėžėje.
  • MAX-nustato didžiausią visų nurodyto lauko įrašų vertę kiekvienoje dėžėje.
  • STD-nustato standartinį kiekvienos dėžės lauko verčių nuokrypį.
  • MEDIAN-randa surūšiuotą vidurinę visų nurodyto lauko įrašų vertę kiekvienoje dėžėje.
  • ZEROS-tuščias dėžes užpildo nuliais.
  • SPATIAL_NEIGHBORS-užpildo tuščias dėžes su vidutine erdvinių kaimynų verte
  • SPACE_TIME_NEIGHBORS-užpildo tuščias dėžes su vidutine erdvės laiko kaimynų verte.
  • TEMPORAL_TREND-užpildo tuščias dėžes, naudodamas interpoliuotą vienmatį spline algoritmą.

Nulinės vertės, esančios bet kuriame suvestinės lauko įraše, lemia, kad šios funkcijos bus pašalintos iš išvesties kubo. Jei įvesties funkcijose yra nulinių verčių, labai rekomenduojama pirmiausia paleisti trūkstamų verčių užpildymo įrankį. Jei paleidus įrankį „Užpildyti trūkstamas vertes“ vis dar yra nulinių verčių ir taškų skaičius kiekvienoje dėžėje yra jūsų analizės strategijos dalis, galbūt norėsite sukurti atskirus kubelius, vieną skaičiui (be suvestinių laukų) o vienas skirtas suvestiniams laukams. Jei kiekvienos suvestinės lauko nulinių verčių rinkinys skiriasi, taip pat galite apsvarstyti galimybę sukurti atskirą kubą kiekvienam suvestinės laukui.

Daugiakampio tinklo, į kurį bus kaupiami įvesties ypatybių taškų duomenys, forma.

  • FISHNET_GRID - įvesties funkcijos bus sujungtos į kvadratinių (tinklinių) langelių tinklelį.
  • HEXAGON_GRID - įvesties funkcijos bus sujungtos į šešiakampių ląstelių tinklelį.
  • DEFINED_LOCATIONS - įvesties funkcijos bus sujungtos į nurodytas vietas.

Daugiakampio ypatybės, į kurias bus kaupiami įvesties taško duomenys. Tai gali būti, pavyzdžiui, apskričių ribos, policijos smūgiai ar pardavimo teritorijos.

Laukas, kuriame yra kiekvienos unikalios vietos ID numeris.

Kodo pavyzdys

Šis „Python“ lango scenarijus parodo, kaip naudoti įrankį „CreateSpaceTimeCube“.

Šis atskiras „Python“ scenarijus parodo, kaip naudoti „CreateSpaceTimeCube“ įrankį.


Asmens veiklos erdvės analizė remiantis korinio signalizacijos duomenimis

Bendrai planuojant miestą svarbu suformuluoti pagrįstą miesto erdvės struktūrą, kuriai reikia daug mokslinių tyrimų. Viena iš šių atramų yra miesto pastatytos aplinkos ir žmogaus elgesio santykis, ir tai sudomino miesto transporto planavimo sritį. Esminis šios mokslinių tyrimų srities elementas yra tinkamų priemonių, skirtų asmens veiklos erdvei, sukūrimas, remiantis surinktais duomenimis. Šis tyrimas pristatė naują duomenų rinkinį, korinio signalizacijos duomenis (CSD) ir atitinkamas priemones, skirtas išanalizuoti miesto pastatytos aplinkos ir asmens veiklos erdvės ryšį. CVPD turi išsamesnius asmens veiklos laiko ir erdvės antspaudus, palyginti su tradicinėmis apklausomis, klausimynais ir netgi skambučių išsamių įrašų (CDR) duomenimis. Asmens veiklos erdvė yra apibrėžta remiantis inkaro taško teorija. Išgaubtas daugiakampis metodas buvo naudojamas apibūdinti asmens veiklos erdvės geometrinę formą. Siūloma metodika buvo patikrinta naudojant Šanchajuje surinktą CVPD. Rezultatai rodo, kad bendras šiame tyrime tirtų mobiliųjų telefonų vartotojų skaičius gali būti suskirstytas į tris skirtingas grupes, turinčias specifines veiklos erdvių charakteristikas. Rezultatai gali būti naudingi susijusioms miesto agentūroms, kad jos įgyvendintų pritaikytą politiką transporto paklausos valdymui.

1. Įvadas

Strateginė urbanistinė erdvės politika iškėlė daugybę temų, pavyzdžiui, miesto bendrojo planavimo metmenyse, kaip plėtoti miesto erdvės struktūrą. Mes žinojome, kad mums reikia ne tik sveikų transporto rūšių, bet ir sveikos erdvės struktūros. Eismo modeliai, kurių prioritetas yra autobusai, negali pakeisti protingos miesto erdvės struktūros, kuri taip pat turėtų būti strateginės kontrolės tikslas. Tokiomis aplinkybėmis būtina aptarti miesto pastatytos aplinkos (BE) ir individo veiklos erdvės santykį. Ir iškyla du susiję klausimai: kaip aptarti tos pačios rūšies gyventojų veiklos erdvę skirtingoje pastatytoje aplinkoje ir kaip aptarti įvairių rūšių gyventojų veiklos erdvę toje pačioje pastatytoje aplinkoje.

Miesto transporto planavimo srityje domino miesto pastatytos aplinkos ir asmens veiklos erdvės santykis [1–3]. Pavyzdžiui, naujausi tyrimai [4, 5] daugiausia dėmesio skyrė žemės naudojimo ir projektavimo politikos poveikiui įvairių transporto rūšių, tokių kaip tranzitas, pėsčiomis ir dviračiai, naudojimui. Tokių santykių rezultatus miestų planuotojai gali naudoti vertindami tinkamą politiką, kuria vadovaujamasi žmonių kelionėse. Esminis šios mokslinių tyrimų srities elementas yra tinkamų priemonių, skirtų asmens veiklos erdvei, sukūrimas remiantis surinktais duomenimis. Kitaip tariant, šioje tyrimų srityje yra du pagrindiniai dalykai: duomenys ir atitinkamos atitinkamos priemonės.

Ankstesni tyrimai, susiję su miesto pastatytos aplinkos ir asmens veiklos erdvės sąsaja, dažniausiai remiasi tradiciniais eismo tyrimais ir klausimynais bei atitinkamomis priemonėmis, įskaitant kelionių elgesio modelius [6], žmonių judumo modelius [7] ir veiklos modelius [8]. Tačiau tradicinis eismo duomenų rinkimas užima daug laiko ir yra brangus, o eismo tyrimų ir anketų rezultatai yra specifiniai tam tikrai tyrimų sričiai tam tikru laikotarpiu. Visi minėti tradicinio duomenų rinkimo trūkumai riboja asmens veiklos laiko ir erdvės modelių raidą.

Pastaruoju metu plačiai įdiegti intelektualūs įrenginiai, pavyzdžiui, GPS, GIS, internetas, o ypač mobilusis telefonas, suteikia puikią galimybę ištirti išsamų miesto aplinkos ir žmogaus veiklos erdvės ryšį. Paprastai iš mobiliųjų telefonų generuojami dviejų tipų duomenys. Vienas iš jų yra išsami skambučio įrašo (CDR) duomenys, kurie generuojami naudojant laiko ir vietos informaciją, kai asmuo skambina ar siunčia pranešimą. Šis duomenų rinkinys šiuo metu naudojamas kai kuriuose tyrimuose [9–12]. Tačiau kadangi asmenys skambina ar siunčia žinutes atsitiktinai, pagrindinis CDR duomenų trūkumas yra tas, kad duomenys nėra vienodai sugeneruoti. The sample size of the CDR data may not be sufficient to analyze the temporal and spatial distribution of individuals’ activity space. The other data generated from mobile phones are the cellular signaling data (CSD), which are generated not only when people make phone calls or send messages but also when the location of the device changes, e.g., from the coverage of the current base station to the adjacent station (please see the details in the data section). Thus, compared with CDR data, the CSD contain much more temporal and spatial records of individuals. Yet, the questions of what and how to use the CSD on the link between the urban built environment and individual’s activity space remain largely unexplored.

2. Literature Review

Under the background of the big data, the research emphasis transferred from “based on OD” to “individual’s regular activity pattern caused by the external environment effect.” So, how to describe the individual’s activity space effectively and comprehensively has become a necessity. And there are two main tasks for us to do: to describe the activity space and to mark the category attributes according to activity patterns.

The data collected from mobile phones are the emerging widely and used in current studies, such as the road travel speed [13], the acquisition of OD matrices [9, 14], and the traffic predication and path selection for urban road network [15]. Meanwhile, lots of work based on mobile phone data have been done for urban and traffic planning (like the decision support system [10]) and transportation construction and management [16]. Besides the cell phone data, traditional surveys have contributed to the research of travel behavior, like pedestrian behavior, driving behavior [6, 7, 17], and consumers’ trip [18].

Some studies have attempted to figure out the human mobility patterns or to what extent can we predict human mobility patterns. By measuring different entropies of individuals’ trajectories, the distribution of actual entropy was captured. And there was a 93% potential predictability (the distribution is narrowly peaked) in user mobility which conflicts with intuition that is the relative regularity of users who travel the most is higher the others [19]. The gyration radius was calculated to interpret the user’s characteristic distance, and its distribution follows the truncated power-law as the same as the travel step size. Furthermore, after removing the anisotropy and rescaling the trajectories, all human mobility collapsed into a same pattern and researchers found that individual trajectories can be characterized by the same gyration radius-independent two-dimensional probability distribution [11, 20]. For the verification of results from mobile phone data, studies find that trajectories estimated by models are similar to the real ones, and the radius of gyration is an appropriate way to present human mobility [12].

From the view of a large scale, human mobility patterns and the corresponding travel behavior form the individuals’ activity space. Researchers have described the activity space from different aspects, most of which relied on the anchor point theory [21]. To obtain the human activity space, trips were reconstructed and the distribution of reconstructed starting time and duration of activities was discussed [22]. Another method is to study the spatial density and distribution of individuals’ activity [23] or the intensity and entropy of activity [24]. To describe the geometrical shape of the activity space, the standard deviational ellipse (SDE) technique was used [25]. However, the SDE technique will overestimate the spatial spread. Now, in this paper, we found a convex polygon to solve the problem, and it can also show the direction as well as the SDE. Furthermore, geographers have tried to explain human activity space from the aspect of time geography [26, 27], and visualization of human mobility patterns was made in 2D and 3D dimension [28, 29]. Table 1 concludes the typical articles relating these issues with new data resources.

3. Data and Methods

3.1. Duomenų rinkinys

The data we used are cellular signaling data (CSD) which were recorded from September 1th, 2011, to September 30th, 2011, and the detailed format of the data is shown in Table 2. The column “MSID” is the only identification of the mobile phone user which is encrypted. The “Date Time” is the timestamp of the signal. And the combination of “LAC” and “CI” can identify the base station through which we can locate the mobile phone user (obtain the latitude and longitude coordinates).

The great advantage of cellular signaling data is that they not only contain CDR data but the location update data and the handover data. The location update data include normal location update, periodic location update, and IMSI attach (caused by cell phone power on). The handover data include the CDR data and the switch data between base stations. In more general words, these following activities will generate CSD: the cell phone powers on the user makes a call or sends a message and the user moves from the coverage of a base station into another one (Figure 1). So, we can obtain detailed information of an individual’s trajectory and cell phone usage.

Two datasets were used in this study. The first dataset (D1) has a total of 6441389 logs, which were collected from 1500 people who are randomly in Shanghai. Figure 2 shows the spatial distribution of the D1. The second dataset (D2) consists of 18844 people who lived in three communities (Jingan, Dahua, and Gucun) (see Figure 2(c)) along Shanghai Metro Line7. These 3 communities locate, respectively, around the inner, central, and outer ring, and others characteristics are shown in Table 3. We use the dataset D2 as comparison group to the dataset D1. A detailed description can be seen in the section of methodology.


9.5 Spatial Raster Data

R has a fantastic package, called raster , written by Robert Hijmans (who was a collaborator with Kristen when they were both at Berkeley, check this out!). The raster package provides a nice interface for dealing with spatial raster types and doing a variety of operations with them.

We are going to start with an example: shaded relief of Carmel Bay avaiable through NOAA’s Digital Elevation Model Global Mosaic (Color Shaded Relief). I have already downloaded it to the inputs directory because, to be quite honest, obtaining it through R was not as straightforward as I would have hoped. This raster has multiple layers. It is a color image stored as a multi-layer (or “band”) file. Accordingly we can use the brick function to read it in as a “rasterBrick”:

Once we have done that we can read about it by printing it:

That tells us a lot of useful things, like (from the “dimensions” line) there are 3 layers, each with 3.24 million cells, on a grid that is 1800 x 1800 cells. It also gives us information about the coordinate reference system (on the “coord. ref.” line).

That is all well and good. Now, let us see what that looks like. ggspatial has the function geom_spraster_rgb() for plotting the entire extent of a three-banded raster, interpreting the bands as red, green and blue.

That is pretty, and could conceivably make a nice background for some of Diana’s rockfish plots.

There is another function in ggspatial called annotation_spraster that plots a raster, but does not change the plot boundaries. This is very useful if you have a lot of points that you wish to plot, and you want the plot boundaries to be sized to contain all your points, and you, accordingly, only want that particular piece of your background raster in the plot. Let’s see it in action by grabbing Diana’s rockfish data, but filtering it only to those points in the Stillwater Cove area.

Then plot those. Here they are by themselves:

And here they are with the raster in the background:

That is pretty cool. It might have been nice to have downloaded a higher resolution raster, which is available, but would have been quite large at the full, zoomed out scale.

One very important thing to note here is that when you are using ggspatial you can still plot regular ggplot2 geoms on top of it. We happened to have some points in a tibble (not, a SpatialPointsDataFrame) with Latitudes and Longitudes, so we just hucked ’em on there using geom_point .


Classification and clustering are often confused with each other, or used interchangeably. Clustering and classification are distinguished by whether the number and type of classes are known beforehand (classification), or if they are learned from the data (clustering). The overarching goal of classification and clustering is to place observations into groups that share similar characteristics while maximizing the separation of the groups that are dissimilar to each other. Clusters are found in environmental and social applications, and classification is a common way of organizing information. Both are used in many areas of GIS including spatial cluster detection, remote sensing classification, cartography, and spatial analysis. Cartographic classification methods present a simplified way to examine some classification and clustering methods, and these will be explored in more depth with example applications.

Lamb, D. (2020). Classification and Clustering. Geografinės informacijos mokslas ir technologijų technologija (2020 m. I ketvirčio leidimas), John P. Wilson (red.). DOI: 10.22224/gistbok/2020.1.11.

This entry was published on March 20, 2020.

An earlier version can also be found at:

DiBiase, D., DeMers, M., Johnson, A., Kemp, K., Luck, A. T., Plewe, B. ir Wentz, E. (2006). Spatial Cluster Analysis. Geografinės informacijos mokslas ir technologijų technologija. Vašingtonas, JAV: Amerikos geografų asociacija. (2nd Quarter 2016, first digital).

Grupavimas: Methods that seek to identify groupings or place data into groups.

klasifikacija: Methods that seek to place data into known groupings or categories.

Stebėjimas: Observations are the individual data points in a larger dataset. In GIS&T, an observation may be a row in an attribute table.

Kintamasis: A variable is a property or characteristic that has been measured about one or more observations. In GIS&T these may be referred to as attributes, or columns in an attribute table.

Univariate / Multivariate: Univariate refers to a single variable or attribute, and multivariate refers to more than one variable.

Mutually Exclusive: Mutually exclusive is a term in probability that means two events cannot occur at the same time. With flipping a coin, the two events are heads and tails. A coin flip cannot be both heads and tails at the same time.

Average or Mean: The mean is calculated as the sum of the values for a variable, divided by the number of observations. It is one way of representing the center of the data.

Classification and clustering are often confused with each other, or used interchangeably. Their definitions changing slightly depending on the discipline or sub-discipline. In either case, the goal is to generalize detailed information contained in attributes into a smaller number of classes (categories or groups). If an observation is part of a category, it is said to be a member of that group. Membership in a category means an observation cannot be a member of any other category, or the categories are said to be mutually exclusive. That is, there is no overlap between the boundaries of each class.

Clustering and classification are distinguished by whether the number and type of classes are known beforehand (classification), or if they are learned from the data (clustering). This is sometimes distinguished as supervised learning (classification), and unsupervised learning (clustering). Geographic location may or may not be incorporated into either approach.

An example of pre-defined categories used in remote sensing classification are land cover classes, such as Water or Barren Land. There is an existing number of categories for land cover (potentially several hundred different categories). Each of these land cover classes has certain characteristics associated with it (color, reflectance, etc…). This information can be used to place new observations into these classes. Many of these classification methods mokytis to differentiate between classes based on a training dataset where an observation’s class membership and attributes are defined. Many classification methods are probabilistic in nature, meaning they estimate the probability of being a member of a particular group.

Clustering attempts to create categories based on the similarities between observations’ attributes more similar observations are placed in the same group together. Sometimes clustering methods will attempt to determine the number of groups, and other times the analyst or researcher will need to provide this information. Spatial clustering examines the distribution of spatial features, and non-spatial clustering relies on characteristics of observations to group them. Spatial and non-spatial may be combined in different methods.

As can be seen in Table 1, classification and clustering approaches touch many different areas of GIS&T. Since there is topic has such a large scope, this section will focus on univariate cartographic classification. This will provide a general overview of how data is placed into different categories that might be extrapolated to more complex applications. Before moving to those examples, the underlying concept of similarity should be discussed.

Supervised classification: Logistic Regression, Support Vector Machines, or Random Forest Classifier

Unsupervised classification: K-means clustering

Supervised learning: Logistic Regression, Support Vector Machines, or Random Forest Classifier.

Unsupervised learning: K-means, hierarchical clustering, or density-based (e.g., DBSCAN)

2.1 Applications of Clustering and Classification

It may be tempting to identify clusters visually, but this can be misleading. Consider Figure 1 which presents the same point data in different scales. With Figure 1A (left) the distribution of the points might be considered clustered, but when the scale is changed in Figure 1B (right), the distribution might be considered dispersed, or even random. How the boundary of a study area is defined can influence how spatial clusters are defined, and this is called edge effects. The methods described in Table 1 use statistical procedures to measure the degree of clustering in many different types of data. This avoids the problem of relying on a visual interpretation.

Figures 1a and 1b. The same distribution of points viewed at different scales (A) appears to be clustered, and (B) appears to be disperse. Source: author.

Some spatial clustering relies on the x and y coordinates of points to determine whether clustering is present, or where the clusters are. data may be able to use the x and y coordinates of the points and distance between them to identify the clusters. More complex cluster detection requires understanding the spatial relationships between features or phenomena, typically with polygons. Usually this relationship is described through a neighborhood graph or matrix that will tell the clustering method which features are neighbors or not. These relationships and distances can be compared to a theoretical random distribution to tell the degree of clustering (e.g. the Poisson distribution), or a different type of metric (Silhouette score).

Spatial clustering may include non-spatial attributes or variables. Non-spatial clustering will rely entirely on attributes of the observed data, but use ideas already familiar to GIS users such as Euclidean distances (see below). Clustering is seen in many real-world phenomena. The concept of Agglomeration in geography is the idea that similar businesses will be located near one another in order to share resources or customers (e.g. car dealerships). Another example, Similar types of crimes tend to be located near each other. Epidemiologists may be interested in where there are groups of infected individuals that are near each other in space and time that are not normal. These clusters may point to a source of exposure, or some unknown reason for their illness.

Similarly, classification methods might be used to predict if someone has a particular disease. Different diseases are treated as separate classes, and many variables (e.g. height, weight, age, career, etc…) are used to predict which class a person would be in. Classification is used in GIS and Cartography to develop thematic maps the group similar types of data together and color coded (explored in more depth below). Finally, both classification and clustering are used in remote sensing applications to group similar raster cells into homogeneous areas as in land cover analysis, creating categories like Deciduous Forests, Water, or Barren Land.

2.2 Similarity and Distance

The overarching goal of classification and clustering is to place observations into groups that share similar characteristics while maximizing the separation of the groups that are dissimilar to each other. This naturally leads to the question: how are two observations similar (or dissimilar)? One approach is to use a distance metric that can be interpreted as a measure of similarity between pairs of observations. The shorter the distance the more similar the two will be. There are many ways to calculate the distance, but one often used in GIS&T is Euclidean distance. Given the location of two different observations or points each with a coordinate pair xi,yi , the distance can be calculated as in equation 1.

If we expand the view of what a location is, it can incorporate not just a physical geographic location, but any a place in any numeric variable. In this view, Euclidean distance is calculated between any number of variables. Another common distance metric is Manhattan distance, shown in equation 2, and there are many others.

There are other common approaches that may or may not use distance as a measure of similarity or proximity. A comparison of some of the major spatial clustering and classification algorithms is presented in Table 2.

Table 2. Common Clustering and Classification Techniques and Their Approaches
Example Algorithm or Method Naudoti Approach
Quadrat Analysis Measurement of spatial clustering of points Segments the study area into a grid, then counts the number of points in each cell
K-Function Presence of spatial clustering of points Multiple lags or distances are used from each point (imagine ripples in a pond from a handful of pebbles thrown in at once), and points are counted within eac ring. This is compared to a simulation of random points within the same area (Monte Carlo simulation).
Moran's I Combines spatial information with an attribute Similar to more traditional statistical methods and hypothesis testing.
K-Means Spatial or non-spatial clustering Relies on a measure of similarity to detect which data belong to which cluster. Explored in more depth below in this entry.
DBSCAN Non-spatial clustering (but could use if for spatial) Similar to a k-function, it looks for points within a distance. It also tries to find “noise” or random points that do not fall within clusters. It requires setting parameters like the minimum number of points to be considered for a cluster. These parameters can be difficult to set, and will change the outcome.
Random Forest klasifikacija A popular artificial intelligence classification technique. Uses decision trees to identify the most important variables that sort data into different classes.

Cartographic classification methods present a simplified way to examine some classification and clustering methods. Within cartography, classification is a process of simplifying or aggregating information into groups to be displayed on a map. Table 3 presents some of the most common approaches used in cartography. To distinguish these classes, every member of a group is assigned the same map symbol to their geographic information. As an example, for this type of mapping, univariate values are taken from a polygonal geographic unit like the United States (U.S.) Census Tract, and a color is assigned to each category (choropleth mapping). The cartographer selects the number of categories for the map. Then, the classification method selected will determine the boundaries of the classes (Figure 2). The boundaries define the lower/starting and upper/ending values for each group, sometimes these values are called ‘breaks’ (Brewer & Pickle, 2002). For additional information, see Statistical Mapping (Enumeration, Normalization, Classification).

Table 3. Common Classification Methods Used in Cartography and Choropleth Mapping
Type of Classification apibūdinimas
Unique values Each value is its own class or group, and each group is assigned a color. Typically reserved for categorical data (e.g. nominal level data).
Manual Classification The cartographer designates the bounds of each class as mutually exclusive groups.
Equal Interval Uses the range from the variable and divides this by the number of classes, creating an interval.
Defined Interval With this method the interval is selected first, and the number of classes derived from how many intervals are needed to cover the range.
Quantile or Percentile Uses the percentage of values that fall in particular ranges, based on the number of classes selected. The same number of observations will exist in each category.
Natural Breaks / Jenks An algorithmic approach to identify “natural” break points in the data (Jenks & Caspall, 1971). It is similar to the K-means clustering approach.
Standartinis nuokrypis A statistical approach using the mean of the data, and the standard deviation. Often used to show extreme values or deviations from the mean (a diverging pattern in the symbology).
Lygus plotas This approach uses the area of the polygons to determine the class breaks so that each group contains an equal proportion of the overall area (Brewer & Pickle, 2002 Lloyd & Steinke, 1977). An alternative to normalizing the variable by the polygon’s area.
Head/tail Breaks Relatively new technique that is designed for variables with a skewed distribution (heavy tailed) (Jiang, 2013).

Figures 2A - 2D. Data classification methods for grouping data using (A) manual classification, (B) equal interval classification, (C) defined interval, and applied to median age data (D). Source: author.

The most basic case is the unique value approach where each value is assigned a unique symbol, creating a class or category for each value. While it is possible to do this for numeric data, it is usually reserved for categorical (nominal level) data, otherwise there could be many different unique classes. Manual classification allows the cartographer to define the upper and lower limits of the boundaries, or the break points. Figure 2A presents two “breaks” at 50 and 60, creating three classes. Because these upper and lower limits are mutually exclusive, the first class runs from 18 to 50, the second class runs from 51 (or possibly 50.000001) to 60, and the third group runs from 61 (or possibly 60.0000001) to 86. Each group is assigned a color value, and in the case of sequential data, the colors progress from light to dark.

Equal Interval and Defined Interval present a simple classification scenario based on the characteristics of the data. Equal Interval sets the number of classes and the data range is divided by this number (e.g. (86-18)/5=17), creating an interval of 17. The values are placed in these known classes, as shown in Figure 2B. In the Defined Interval approach the cartographer selects the interval then the software determines the number of classes that will fit. In Figure 2C, the interval is 34 creating two classes.

Other approaches rely on the distribution of the variable. Frequency distributions are visualized as a histogram. Histograms divided the data into bins of equal widths (e.g. between 40 and 45), and count the number of values that fall inside each bin. This count is reflected in the bar height. Figure 3 shows a histogram for the median age variable. Percentiles are the percentage of the data that falls below the corresponding value. To define class breaks using percentile the number of classes is selected, then the range 0 to 100% is divided by this number. In Figure 3A, 3 classes result in percentiles at 25%, 50%, and 75%. These correspond to values of 33, 38, and 44 respectively. This means that 25% of the observations fall to the left of 33 on the histogram, 50% fall to the left of 38, and 75% fall to the left of 44. Keep in mind the height of the bar indicates the actual total number of observations. At 86, 100% of the observations fall to the left of the histogram. Figures 2B presents percentiles for 5 classes, but the idea remains the same.

Figures 3a - 3c. Frequency distribution of median age data and the breaks associated with (A) 3 class percentiles, (B) 5 class percentiles, and (C) 5 class Jenks’ Natural Breaks method. Source: author.

Finally, Jenks’ method is an iterative algorithmic approach that identifies ‘natural’ break points in the data (Jenks & Caspall, 1971). This method is closer to the idea of identifying clusters (groups) in the data, resulting in uneven intervals. The result of Jenks’ method applied to the median age variable are shown in Figure 3C. The algorithm is complex, but a there is a similar approach called K-means clustering that can be demonstrated. K-means is also widely used in other areas. The k refers to the number of classes. There are approaches to help choose k, but these are not widely available in GIS packages (silhouette scores, or elbow plots).

Beginning with a smaller dataset, Figure 4 shows 20 observations along a number line. K-means clustering begins by selecting k, and three is used in this example. The algorithm begins the first iteration by generating three random values that fall within the variable’s range. In Figure 5, there are three random values generated (a light blue, yellow, and dark grey point). These will serve as the center of each of the groups for a first iteration. Next, the algorithm calculates the distance from the original observation to each of the cluster centers. Figure 6 presents this distance as an arrow from the first observation on the left to each of the centers.

Figure 4. Twenty observations along a number line to demonstrate K-means algorithm. Source: author.

Figure 5. Twenty observations with three randomly generated cluster centers along the number line. This demonstrates the first step in the K-means algorithm. Source: author.

Figure 6. Calculation of the distance from the first observation on the left of the number line to each random cluster center. Source: author.

Next, the algorithm assigns each observation to the nearest cluster center based on the distance (Figure 7A). These create the first set of clusters, and the algorithm calculates the mean within each cluster (the vertical lines in Figure 7B represent the mean of each cluster). Now, the mean becomes the center of each cluster, and the distance is recalculated from each observation to these new centers. Again, observations are moved to different groups based on the distance. The mean for each of the clusters is calculated again, and the distance again, and so on. This process repeats until there are no changes to which cluster an observation belongs to. The algorithm begins a new iteration, creating random values for each cluster center. After many iterations, it will return the ‘best’ fitting clusters. It may turn out the first iteration was the best, but it will repeat the process as many times as the analyst will specify.

Figure 7a - 7b. During the K-means algorithm observations are assigned to their closest cluster center, (A) the leftmost observation is assigned to the closest cluster center (A), and (B) all observations are assigned to their closest cluster center and the mean of each group is calculated. Source: author.

At each iteration, the algorithm calculates a measure to determine how well those clusters fit the data. To do this, the algorithm uses the variance of each cluster and the total variance. The variance measures the distance of each group member to the mean of the cluster. The variance is a measure of the spread of the data. Figure 8 shows this spread as arrows, and each group has a different width. The total variance is the sum of the group variances, and the iteration that had the smallest total variance is returned as the best option. The result is class bounds that can have different interval widths, and unusual beginning and end points.

Figure 8. The K-means algorithm uses the variance of the different clusters (as demonstrated by the arrows) to determine the performance of these groupings. Source: author.

Which method should you use? Which method chosen and how many classes selected will have consequences on the map’s final appearance and potentially the way the data are interpreted. This can be considered from both ethical and practical considerations (Harley, 1991 Monmonier, 1991). For comparison, Figure 9 presents the median age data for Hillsborough County, Florida using U.S. Census Tracts. Each tract is placed in a class depending on the median age for that tract. The class bounds change depending on the method, and the results can create very different interpretations of the underlying data. For example, Figure 9B shows class breaks using the Equal Interval method for 5 classes. This map creates the impression that most of the county falls in the 27 to 41 median age group. Whereas, the Natural Breaks method (Figure 9A) has varying class intervals (40 to 47 is small, compared to 62 to 86), and results in a more diverse county.

It can be difficult to choose which method to apply. Slocum et al. (2009, p. 68) provide some guidelines for mapping. Sometimes the shape of the frequency distribution (e.g. a normal distribution is appropriate for the percentile), or other characteristics of the data, might help. Monmonier (1991) suggests presenting the reader with a “dynamic sequence” of maps that show the extreme views of the data (Monmonier, 1991, p. 4).

Regardless of the method, one should take care to balance the interpretability of the classes, while letting the data speak for itself. In the case of the median age variable, using manually selected classes that reflect life stages (e.g. voting age in the United States is 18, or retirement age is 66) is logical and easily understood by the map reader. This implies some artistic license that is not always available or appropriate in other areas of classification and clustering.

Figure 9A-9D. Comparison of cartographic classification methods using (A) Jenks’ Natural Breaks, (B) Equal Interval, (C) Manual, and (D) Percentile / Quantile. Source: author.

Many classification and clustering methods are applied to multivariate data. The K-means approach can be expanded to include many attributes, and the algorithm remains the same. It still seeks the center of each cluster. Figure 10 shows clusters of observations from three variables in three-dimensions. The cluster that is shaded blue with a triangle shape overlaps with the green dot cluster along the first variable, but has very different results for the third variable (z-axis). It is the combination of characteristics that can create mutually exclusive clusters when dealing with multivariate data.

Figure 10. Multivariate clustering and classification attempts to separate groups based on more than one variable.​​​​​​ Source: author.

Alexiou, A., & Singleton, A. D. (2015). Geodemographic Analysis. In C. Brundson & A. D. Singleton (Eds.), Geocomputation. A Practical Primer (pp. 137–151). London: Sage.

Bailey, T. C., & Gatrell, A. C. (1995). Interactive spatial data analysis: Longman Scientific & Technical Essex.

Brewer, C. A., & Pickle, L. (2002). Evaluation of Methods for Classifying Epidemiological Data on Choropleth Maps in Series. Amerikos geografų asociacijos metraštis, 92 m(4), 662–681.

Harley, J. B. (1991). Can there be a cartographic ethics? Kartografinės perspektyvos. (10), 9–16.

Jenks, G. F., & Caspall, F. C. (1971). Error on Choroplethic Maps: Definition, Measurement, Reduction. Annals of the Association of American Geographers, 61(2), 217–244.

Jiang, B. (2013). Head/Tail Breaks: A New Classification Scheme for Data with a Heavy-Tailed Distribution. The Professional Geographer, 65(3), 482–494.

Lloyd, R., & Steinke, T. (1977). Visual and Statistical Comparison of Chropleth Maps. Annals of the Association of American Geographers, 67(3), 429–436.

Lu, D., & Weng, Q. (2007). A survey of image classification methods and techniques for improving classification performance. International Journal of Remote Sensing, 28(5), 823–870.

Miller, H., & Han, J. (2009). Geographic Data Mining and Knowledge Discovery (Second): CRC Press.

Monmonier, M. (1991). Ethics and Map Design: Six Strategies for Confronting the Traditional One-Map Solution. Kartografinės perspektyvos. (10), 3–8.

O'Sullivan, D., & Unwin, D. (2010). Geographic information analysis (Second). Hoboken, New Jersey: John Wiley & Sons.

Slocum, T. A., McMaster, R. M., Kessler, F. C., Howard, H. H., & McMaster, R. B. (2009). Teminė kartografija ir geografinė vizualizacija (3rd). Upper Saddle River, New Jersey: Prentice hall.

Smith, M. J. de, Goodchild, M. F., & Longley, P. (2007). Geospatial analysis: a comprehensive guide to principles, techniques and software tools: Troubador Publishing Ltd.