Vairāk

Grupējiet blakus esošos daudzstūrus ar līdzīgiem (bet ne vienādiem) atribūtiem

Grupējiet blakus esošos daudzstūrus ar līdzīgiem (bet ne vienādiem) atribūtiem


ArcMap 10 man ir daži desmiti tifu ar šūnām, kas attēlo sadedzināto biotopu. Katrai sadedzinātajai šūnai ir noteikts Jūlija ugunsgrēka datums.

Es vēlos beigt ar daudzstūriem, kas katrs attēlo vienu ugunsgrēka notikumu, kas definēts kā (8 virzienu) blakus esošas šūnu grupas, kurās neviena blakus esošā sadedzinātā šūna neatšķiras līdz> 1 Jūlija dienai; i., ja sadedzinātās šūnas atšķiras par 2 vai vairāk dienām, tās tiks klasificētas kā atsevišķi ugunsgrēki. Ja es pārveidoju tiffs par shp failiem, pamatojoties uz datuma lauku, tas grupē visas blakus esošās šūnas vienam datumam.

Kā es varu vienā dienā apvienot tikai daudzstūrus, kas ir gan blakus, gan atšķiras?


Šķiet, ka risinājums šeit ir paša rastra izmantošana. Esmu mēģinājis reproducēt rastru ar “līdzīgām” šūnu vērtībām dažādās zonās, izmantojot daudzstūru kopu (kopā 142), attālumu līdz to robežām un maksimālo attālumu atsevišķa daudzstūra iekšpusē. Maksimālais attālums, no kura atskaitīts faktiskais attālums, kas iegūts apgabalos ar vērtību pārtraukumiem pie robežas. Rastra šūnu izmērs ir 1.

Tas ir tikai atkārtojuma jautājums, izmantojot rastra šūnas un vērtību salīdzināšana ar 8 kaimiņiem, izlaižot jau piešķirtos. Šajā attēlā tiek salīdzināti sākotnējie daudzstūri ar iegūto šūnu grupu:

Sākotnējās robežas parādītas baltā krāsā, atvasinātas šūnu grupas, kas parādītas ar unikālu krāsu. Izejas rastrs satur tikai 99 grupas. Acīmredzot algoritms, ko izmantoju, mēģinot reproducēt jūsu datus, nerada patiesas pārtraukuma līnijas pie divu vai vairāku daudzstūru robežas ar līdzīgu vai tuvu attāluma rakstu. Tāpēc “uguns” spēja “ielīst” citā sateces baseinā caur šūnu ar “līdzīgu” vērtību. Rastra izmērs ir 682*542, un mana novecojušā mājas datora apstrāde prasīja 2 minūtes. Esmu izmantojis

arcpy.RasterToNumPyArray (rastrs, "", "", "",-9999)

Nav pārliecināts, kā tas darbosies lielākam komplektam, jo ​​šai funkcijai ir atmiņas ierobežojumi. Paziņojiet man, ja jūs interesē pats skripts, un es mēģināšu to ievietot. Atklāti sakot, man bija ļoti nomākta pieredze izvietot koda paraugu šajā vietnē…


# GRUPAS blakus nedaudz atšķirīgām šūnām # paplašinājums - Telpiskā analītiķa importēšana arka, izsekošana, sys no arcpy importēšanas env.overwriteOutput = Patiesa importa numpy try: def showPyMessage (): arcpy.AddMessage (str (time.ctime ()) + " - " + ziņojums) # ielādējiet ievades rastru masīvā un definējiet tā lielumu, izcelsmes punktu, šūnas lielumu # aizstājiet zemāk esošo rindu. Apsveriet iespēju pārveidot tif par veselu skaitļu režģi raster = arcpy.Raster ('C:/FELIX_DATA/theDates') myArray = arcpy.RasterToNumPyArray (rastrs, "", "", "",-9999) nRows, nCols = myArray.shape cellsTotal = nCols*nRindas d = arkveida. Aprakstiet (rastra) izcelsmi = d.extent.lowerLeft cSize = raster.meanCellHeight # rastrs, lai saglabātu piešķirto grupas numuru. Iestatiet uz -1 blankR = rastra-rastra-1 tukšs = arkveida.RasterToNumPyArray (blankR, "", "", "",-9999) # norādījumi, lai atrastu šūnu kaimiņu dRow = (0, -1, -1, -1 , 0,1,1,1) dCol = (1,1,0, -1, -1, -1,0,1) # grupas skaitītāju grupaNo = 0 arcpy.SetProgressor ("solis", "", 0, cellTotal) nRow diapazonā (nRows): nCol diapazonā (nCols): # nepiešķirta šūnu vērtība = -1 inGroup = blank [nRow, nCol], ja inGroup == -1: groupNo+= 1 blank [nRow, nCol] = groupNo lstInit = [(nRow, nCol)] lst2grow = [], kamēr len (lstInit)> 0: šūnai in lstInit: nR, nC = šūna v = myArray [nR, nC] i i xrange (8): curRow = nR+dRow [i] curCol = nC+dCol [i] ja curRow diapazonā (nRows) un curCol diapazonā (nCols): inGroup = blank [curRow, curCol], ja inGroup ==-1: vCur = myArray [curRow, curCol] ja vCur xrange (v-1, v+2): tukšs [curRow, curCol] = groupNo lst2grow.append ((curRow, curCol)) arcpy.SetProgressorPosition () lstInit = lst2grow [:] lst2grow = [] arcpy .SetProgressorLabel ("Atrastas grupas %i" %groupNo) del myArray myRaster = arcpy.NumPyArrayToRaster (tukšs, izcelsme, cSize, cSize) del blank # aizstāt rindu zem myRaster.save ('C:/FELIX_DATA/groups'), izņemot: message = " n *** PYTHON ERRORS ***"; showPyMessage () message = "Python Traceback Info:" + traceback.format_tb (sys.exc_info () [2]) [0]; showPyMessage () message = "Python kļūdas informācija:" + str (sys.exc_type) + ":" + str (sys.exc_value) + " n"; showPyMessage ()

Funkciju apvienošana vienā slānī

Apvienot apvieno viena slāņa atlasītās funkcijas vienā objektā. Funkcijām jābūt no līnijas vai daudzstūra slāņa.

Apvienojot, jūs izvēlaties, kuras funkcijas atribūti tiek saglabāti darbības laikā. Noklikšķinot uz ieraksta dialoglodziņā Apvienot, šī funkcija kartē mirgo. Funkcijas sarakstā tiek parādītas pēc slāņa nosaukuma, kuram tās pieder, un displeja izteiksmi. Apvienošanas politika, ja tāda ir, nenosaka apvienotā līdzekļa atribūtu vērtību.

Ja līdzekļi nav blakus, tiek izveidots daudzdaļīgs līdzeklis. Piemēram, varat apvienot atsevišķas salas, kas veido Havaju salas, lai izveidotu daudzdaļīgu daudzstūru funkciju.

Var apvienot arī līdzekļus, kas piedalās ģeometriskos tīklos.

Ja atlasāt līnijas līdzekļus ar laukiem COGO un šos līdzekļus var veidot vienā COGO rindā, dialoglodziņā Apvienot ir pieejamas divas papildu opcijas. Atzīmējot izvēles rūtiņu Apvienot vienā COGO līnijā, tiek nodrošināts, ka tikko apvienotajam objektam ir viens taisnas līnijas segments vai viens apļveida loka segments. Atzīmējot izvēles rūtiņu Atjaunināt COGO atribūtus, tiek nodrošināts, ka jaunā līdzekļa COGO apraksts tiek atjaunināts.

  1. Noklikšķiniet uz rediģēšanas rīka redaktora rīkjoslā.
  2. Noklikšķiniet uz funkcijām, kuras vēlaties apvienot. Funkcijām jābūt no viena slāņa.
  3. Noklikšķiniet uz izvēlnes Redaktors un noklikšķiniet uz Apvienot.
  4. Noklikšķiniet uz objekta, kurā līdzekļi tiks apvienoti, un tiks parādīti apvienotā objekta atribūti.
  5. Noklikšķiniet uz Labi.

Sintakse

Apkopojamās daudzstūra iezīmes. Ja šis ir slānis, kas atsaucas uz attēlojumu, un ievades elementos ir formu ignorēšana, apkopotās apstrādes laikā tiks ņemtas vērā ignorētās formas, nevis objektu formas.

Izveidojamo funkciju klase, kas jāizveido.

Attālums, kas jāievēro starp daudzstūra robežām, lai notiktu apkopošana. Jānorāda attālums, un tam jābūt lielākam par nulli. Jūs varat izvēlēties vēlamo vienību, noklusējuma funkcija ir vienība.

Apkopotā daudzstūra minimālā platība, kas jāsaglabā. Noklusējuma vērtība ir nulle, tas ir, lai saglabātu visus daudzstūrus. Jūs varat norādīt vēlamo vienību, noklusējuma funkcija ir vienība.

Saglabājamais daudzstūra cauruma minimālais izmērs. Noklusējuma vērtība ir nulle, tas ir, lai saglabātu visus daudzstūra caurumus. Jūs varat norādīt vēlamo vienību, noklusējuma funkcija ir vienība.

Norāda izvades pazīmju raksturlielumus, veidojot apkopotās robežas.

  • NON_ORTHOGONAL - tiks izveidotas organiskas formas izvades funkcijas. Tas ir piemērots dabiskām iezīmēm, piemēram, veģetācijai vai augsnes daudzstūriem. Tas ir noklusējums.
  • ORTOGONĀLS - tiks izveidotas ortogonālas formas izvades funkcijas. Šī opcija ir piemērota, lai saglabātu antropogēno ievades iezīmju, piemēram, ēku pēdu, ģeometriskās īpašības.

Slāņi, kuros ir līnijas vai daudzstūra iezīmes, kas ir apkopošanas šķēršļi ievades elementiem. Funkcijas netiks apkopotas starp barjeras elementiem. Barjeras funkcijas, kas ir ģeometriski pretrunā ar ievades funkcijām, tiks ignorētas.

Attiecību tabula viens pret daudziem, kas savieno apkopotos daudzstūrus ar to avota daudzstūra iezīmēm. Šajā tabulā ir divi lauki OUTPUT_FID un INPUT_FID, kuros attiecīgi tiek apkopoti apkopotie objektu ID un to avotu objektu ID. Izmantojiet šo tabulu, lai no avota līdzekļiem iegūtu nepieciešamos atribūtus izvades funkcijām. Šīs tabulas noklusējuma nosaukums ir izvades līdzekļu klases nosaukums, kas pievienots ar _tbl. Noklusējuma ceļš ir tāds pats kā izvades līdzekļu klase. Ja šis parametrs tiek atstāts tukšs, tabula netiek izveidota.


Ieejas

Šis rīks izmanto punktu, polilīniju vai daudzstūru ievades līdzekļus, unikālu ID lauku, izejas funkciju klases ceļu, vienu vai vairākus analīzes laukus, veselu skaitli, kas apzīmē izveidojamo grupu skaitu, un telpisko ierobežojumu veidu - ja jebkurš - tas būtu jāpiemēro grupēšanas algoritmā. Ir arī vairāki papildu parametri, tostarp viens, kas ļauj izveidot PDF izvades atskaites failu.

Analīzes lauki

Atlasiet laukus, kas atspoguļo skaitlisko attiecību, intervālu vai kārtējās mērīšanas sistēmas. Lai gan nominālos datus var attēlot, izmantojot fiktīvus (binārus) mainīgos, tie parasti nedarbojas tik labi kā citi skaitlisko mainīgo veidi. Piemēram, jūs varat izveidot mainīgo ar nosaukumu Lauku un katrai pazīmei (piemēram, katram skaitīšanas traktam) piešķirt 1, ja tas galvenokārt ir laukos, un 0, ja tas galvenokārt ir pilsētvidē. Tomēr labāks šī mainīgā attēlojums izmantošanai grupēšanas analīzē būtu lauku platību apjoms vai proporcija, kas saistīta ar katru funkciju.

Jums jāizvēlas mainīgie, kas, jūsuprāt, atšķirs vienu funkciju grupu no citas. Pieņemsim, ka, piemēram, jūs interesē skolu rajonu grupēšana pēc skolēnu snieguma standartizētos sasniegumu testos. Jūs varat atlasīt analīzes laukus, kas ietver vispārējus testa rezultātus, rezultātus konkrētiem priekšmetiem, piemēram, matemātiku vai lasīšanu, to studentu īpatsvaru, kuri atbilst noteiktam minimālajam testa rezultātu slieksnim utt. Palaižot rīku Grupēšanas analīze, katram mainīgajam tiek aprēķināta R 2 vērtība. Tālāk sniegtajā kopsavilkumā, piemēram, skolu rajoni ir sagrupēti, pamatojoties uz skolēnu ieskaites rezultātiem, to pieaugušo procentuālo skaitu apgabalā, kuri nepabeidza vidusskolu, uz vienu skolēna tēriņu un vidējo skolēna un skolotāja attiecību. Ņemiet vērā, ka TestScores mainīgajam ir augstākā R 2 vērtība. Tas norāda, ka šis mainīgais visefektīvāk sadala skolu rajonus grupās. R 2 vērtība atspoguļo to, cik liela daļa sākotnējo TestScores datu variāciju tika saglabāta pēc grupēšanas procesa, tāpēc jo lielāka ir R 2 vērtība konkrētam mainīgajam, jo ​​labāk šis mainīgais var atšķirt jūsu funkcijas.

Nirt:

kur TSS ir kopējā kvadrātu summa un ESS ir izskaidrotā kvadrātu summa. TSS aprēķina, kvadrātā un pēc tam summējot novirzes no mainīgā globālās vidējās vērtības. ESS aprēķina tāpat, izņemot, ja novirzes tiek grupētas pa grupām: katra vērtība tiek atņemta no tās grupas vidējās vērtības, pēc tam kvadrātā un summēta.

Grupu skaits

Dažreiz jūs zināt, cik grupu vislabāk atbilst jūsu jautājumam vai problēmai. Ja jums ir pieci pārdošanas vadītāji un vēlaties katru no tiem piešķirt savam blakus reģionam, parametram Grupu skaits izmantojiet 5. Tomēr daudzos gadījumos jums nebūs nekādu kritēriju, lai izvēlētos noteiktu grupu skaitu, jūs vienkārši vēlaties numuru, kas vislabāk atšķir funkciju līdzības un atšķirības. Lai palīdzētu jums šajā situācijā, varat pārbaudīt parametru Izvērtēt optimālo grupu skaitu un ļaut grupēšanas analīzes rīkam novērtēt, cik efektīvi ir sadalītas jūsu funkcijas 2, 3, 4 un līdz 15 grupās. Grupēšanas efektivitāti mēra, izmantojot Calinski-Harabasz pseido F-statistiku, kas ir attiecība, kas atspoguļo grupas līdzību un atšķirību starp grupām:

Pieņemsim, ka vēlaties izveidot četras telpiski blakus esošas grupas. Šajā gadījumā rīks izveidos minimālo aptverošo koku, kas atspoguļo gan jūsu objektu telpisko struktūru, gan ar tām saistītās analīzes lauka vērtības. Pēc tam rīks nosaka labāko koku zāģēšanas vietu, lai izveidotu divas atsevišķas grupas. Pēc tam tā izlemj, kura no divām rezultatīvajām grupām ir jāsadala, lai iegūtu trīs labāko grupu risinājumu. Viena no divām grupām tiks sadalīta, otra grupa paliek neskarta. Visbeidzot, tas nosaka, kura no rezultatīvajām trim grupām ir jāsadala, lai nodrošinātu četrus labākos grupas risinājumus. Katram iedalījumam labākais risinājums ir tas, kas maksimāli palielina gan grupas iekšējo līdzību, gan atšķirību starp grupām. Grupu vairs nevar sadalīt (izņemot patvaļīgu), ja analīzes lauka vērtības visām šīs grupas funkcijām ir identiskas. Gadījumā, ja visām iegūtajām grupām ir identiskas funkcijas, grupēšanas analīzes rīks pārtrauc jaunu grupu izveidi, pat ja tas vēl nav sasniedzis jūsu norādīto grupu skaitu. Nav pamata sadalīt grupu, ja visiem analīzes laukiem ir identiskas vērtības.

Telpiskais ierobežojums

Ja vēlaties, lai iegūtās grupas būtu telpiski tuvākas, norādiet telpisko ierobežojumu. Iespējas CONTIGUITY ir iespējotas daudzstūra funkciju klasēm, un tās norāda, ka līdzekļi var būt vienas grupas daļa tikai tad, ja tiem ir viena mala (CONTIGUITY_EDGES_ONLY) vai ja tiem ir kopīga mala vai virsotne (CONTIGUITY_EDGES_CORNERS) ar citu grupas dalībnieku. Tomēr daudzstūra tuvuma opcijas nav laba izvēle, tomēr, ja jūsu datu kopā ir iekļauti nesakritīgu daudzstūru kopas vai daudzstūri bez blakus esošiem kaimiņiem:

Opcijas DELAUNAY_TRIANGULATION un K_NEAREST_NEIGHBORS ir piemērotas punktu vai daudzstūru iezīmēm. Šīs opcijas norāda, ka līdzeklis tiks iekļauts grupā tikai tad, ja vismaz viens cits grupas dalībnieks ir dabiskais kaimiņš (Delaunaja trīsstūris) vai K tuvākais kaimiņš. Ja, piemēram, atlasāt K_NEAREST_NEIGHBORS un parametram Kaimiņu skaits ievadāt 12, katrs grupas elements atradīsies 12 tuvāko kaimiņu attālumā no vismaz viena cita objekta.

Opciju DELAUNAY_TRIANGULATION nevajadzētu izmantot datu kopām ar sakritīgām funkcijām. Turklāt, tā kā Delaunaja trīsstūrēšanas metode pārvērš funkcijas Thiessen daudzstūros, lai noteiktu kaimiņu attiecības, jo īpaši ar daudzstūru funkcijām un dažreiz ar perifērijas funkcijām jūsu datu kopā, šīs opcijas izmantošanas rezultāti ne vienmēr var būt tādi, kādus jūs gaidāt. Tālāk redzamajā attēlā ievērojiet, ka daži no sagrupētajiem oriģinālajiem daudzstūriem, pārvēršoties par Thiessen daudzstūriem, nav blakus, tomēr visām grupētajām iezīmēm faktiski ir viena priekšrocība:

Delaunaja trīsstūrī Thiessen daudzstūra tuvums nosaka kaimiņu attiecības.

Ja vēlaties, lai iegūtās grupas būtu gan telpiski, gan laikā proksimālas, izveidojiet telpisko svaru matricas failu (SWM), izmantojot rīku Ģenerēt telpisko svaru matricu, un atlasiet SPACE_TIME_WINDOW parametram Telpisko attiecību koncepcija. Pēc tam, palaižot grupēšanas analīzi, varat norādīt SWM failu, ko izveidojāt ar rīku Ģenerēt telpisko svaru matricu parametram Svaru matricas fails.

Lai gan telpiskās attiecības starp jūsu funkcijām tiek saglabātas SWM failā un grupēšanas analīzes rīks izmanto, lai uzliktu telpiskus ierobežojumus, grupēšanas procesā netiek izmantota faktiskā svēršana. SWM fails tiek izmantots tikai, lai izsekotu, kuras funkcijas var un kuras nevar iekļaut vienā grupā.

Daudzām analīzēm telpiskā vai laika un laika ierobežojuma noteikšana nav ne obligāta, ne noderīga. Pieņemsim, ka, piemēram, vēlaties grupēt noziegumus pēc vainīgā atribūtiem (augums, vecums, nozieguma smagums utt.). Lai gan vienas un tās pašas personas pastrādātie noziegumi mēdz būt tuvi, maz ticams, ka jūs atklātu, ka visus noziegumus konkrētā jomā ir izdarījusi viena un tā pati persona. Šāda veida analīzei parametram Telpiskie ierobežojumi jāizvēlas NO_SPATIAL_CONSTRAINT. Tomēr analīzes lauku sarakstā varat iekļaut dažus telpiskos mainīgos lielumus (piemēram, banku tuvums), lai atspoguļotu dažus analizējamo noziegumu telpiskos aspektus.


Man bija jāraksta algoritms blakus esošo daudzstūru apvienošanai eksperimenta projekta ietvaros ar HTML5 audeklu (nekas krāšņs, mozaīkmīkla :-) Caurumi iegūtajā daudzstūrī tiek dabiski atbalstīti. Javascript rutīna ir atrodama funkcijā ar nosaukumu Polygon.prototype.merge () vietnē www dot raymondhill dot net / puzzle-rhill / jigsawpuzzle-rhill-3 dot js

Galvenais ir noņemt segmentus, kas ir dublēti, bet pretējā virzienā. Aptuvens skaidrojums: punkts ir , segments ir , kontūra ir (savienotu punktu objektu kolekcija), daudzstūris ir (kontūru objektu kolekcija.)

Apvienošanas algoritms apkopo visas segmentus lielā tauku segmenta objektu kopā, kur tiek novērsti dublikāti. Pirmkārt, visi visu kontūru segmenti, kas nosaka daudzstūri A, tiek pievienoti kopumam. Pēc tam kopai tiek pievienoti visi visu kontūru segmenti, kas nosaka daudzstūri B, bet mēs pārbaudām un noņemam dublējumus (viegli izdarāms, izmantojot Point objektu kā hashkey).

Tad mēs ņemam segmentu no baseina (nejauši ir labi), un mēs to "staigājam", līdz nonākam "strupceļā", tas ir, vairs nevar pieslēgt nevienu segmentu. Tas veido vienu kontūras objektu. Mēs atkārtojam, līdz tiek izmantota visa segmentu kolekcija. Tā kā tiek izmantoti segmenti, tie tiek noņemti no baseina. Segments “staigāt” nozīmē, ka mēs ņemam tā beigu punktu un meklējam segmentu, kura sākuma punkts tam atbilst.

Kā jau minēts, rezultātā mums ir kontūru objektu kolekcija, kas definē daudzstūri. Dažas kontūras tiks aizpildītas, dažas - tukšas. Lai noteiktu, vai kontūra ir piepildīta vai tukša, ir tikai jāpārbauda, ​​vai kontūra ir pulksteņrādītāja virzienā vai pretēji, vai tās laukums ir pozitīvs vai negatīvs. Tā ir vienošanās, manā gadījumā kontūras pulksteņrādītāja virzienā ir aizpildītas, pretēji pulksteņrādītāja virzienam - dobi.

Šeit ir mana ieviešana, atskaitot specifiku un mīnus kļūdu apstrādi. Cerams, ka esmu pietiekami nokopējis/ielīmējis, lai jūs varētu uzreiz strādāt, citādi skatiet manu JS failu iepriekš:

Kad mēs "staigājam" segmentu, lai izveidotu kontūru, ir gadījums, kad segments var izveidot savienojumu ar vairākiem segmentiem:

Kas var novest pie diviem derīgiem rezultātiem (iepriekš minētais algoritms nejauši novedīs pie viena vai otra):

1. rezultāts, viena aizpildīta kontūra:

2. rezultāts, viena aizpildīta kontūra, viena doba kontūra:

Tomēr tam nevajadzētu radīt problēmas, jo jūsu kodam jau jābūt gatavam apstrādāt caurumus.

Cita svarīga detaļa: Iepriekš minētais algoritms neatbrīvo no starppunktiem ('+'), patiesībā tie ir gaidīti, pretējā gadījumā algoritms nedarbosies, kā tas ir šādā gadījumā:

Es saprotu, ka tas jums ir. Es domāju, ka algoritmu varētu paplašināt, lai atbalstītu šādu gadījumu, iepriekš atrodot un pievienojot krustojošos punktus (manā gadījumā tas nebija vajadzīgs):


7.5. Uzņemšanas attālums¶

Uzņemšanas attālums ir attālums, ko ĢIS izmanto, lai meklētu tuvāko virsotni un / vai segmentu, ko mēģināt savienot, digitalizējot. A segments ir taisna līnija, kas izveidota starp divām virsotnēm daudzstūra vai polilīnijas ģeometrijā. Ja neesat nokļūšanas attālumā, tāda ĢIS kā QGIS atstās virsotni, kurā atlaidīsiet peles pogu, nevis nofiksēs to uz esošu virsotni un / vai segmentu (sk. 7.13. Attēlu).

7.13. Attēls. Noklikšķināšanas attālums (melnais aplis) ir definēts kartes vienībās (piemēram, decimālgrādos), lai to varētu nofiksēt virsotnēs vai segmentos. ¶


Grupējiet blakus esošos daudzstūrus ar līdzīgiem (bet ne vienādiem) atribūtiem - ģeogrāfiskās informācijas sistēmas

Relāciju datu bāzes modelis un atribūtu datu struktūras

Relāciju datu bāzu pārvaldības sistēmas (RDBMS)

Gandrīz visi GIS izmantotie tabulas dati tiek glabāti relāciju datu bāzes tabulās. Lai gan pilnīga relāciju datu bāzu tēmas apstrāde pārsniedz šī kursa darbības jomu, mums vismaz būs nepieciešams īss ievads.

Ārpus ĢIS tabulas dati parasti tiek glabāti un manipulēti relāciju datu bāzēs, piemēram, dBASE, rBase, ACCESS, Oracle, SQLServer, INFORMIX vai citās augstākās klases relāciju datu bāzu pārvaldības sistēmās (RDBMS). Šajās datu bāzēs esošās tabulas bieži vien ir saistītas ar starptabulu attiecībām, līdz ar to arī nosaukumu "relāciju" datu bāze.

Tabulas sastāv no kolonnām vai laukiem un rindām vai ierakstiem. Šos terminus var aizstāt.

Tabulu atlases vai apakškopu pieprasījumi ir pazīstami kā "vaicājumi". "Tipisks vaicājums izmanto sintaksi, kas līdzvērtīga

atlasiet visus ierakstus no lidostas punktu tabulas, kuru lidostas nosaukuma vērtībā ir vārds "INTL"

ArcGIS ir grafisks lietotāja interfeiss vaicājumu veikšanai tabulās, lai jums nebūtu jāapgūst sarežģītas īpašās vaicājumu valodas, piemēram, SQL. Lai gan ArcGIS tabulu atlasēs tiek izmantota konkrēta sintakse, sintaksi mēs apskatīsim vēlāk tabulu modulī.

Asociācijas starp tabulām

Relāciju datu bāzes modeļa centrā ir ideja par saitēm starp tabulām. ArcGIS tie ir pazīstami kā saites un saites. Kopīgas vērtības parastajiem vienumiem tiek izmantotas, lai saistītu ierakstus no vienas tabulas uz citu. Šis attēls (no Excel) ir piemērs tabulu strukturēšanai un to saistīšanai starp tabulām:

Iekš norāda.dbf tabulā ir lauki atribūtiem, kas apzīmē valsts nosaukumu, FIPS (federālās informācijas apstrādes standarta zonas) zonu un valsts nosaukuma saīsinājumu. Katram štatam ir viens ieraksts.

Iekš pilsētas.dbf tabulā ir atribūtu lauki, kas apzīmē pilsētas nosaukumu, štatu utt., un katrai pilsētai ir viens ieraksts.

Ja konkrēta lauka vērtības vienā tabulā sakrīt ar vērtībām cita tabulas noteiktā laukā, starp tabulām var izveidot sakarību. Tā kā abās tabulās ir lauks, kas attēlo valsts nosaukumu, un šķiet, ka lauki ir definēti vienādi (vienkāršs teksts), vajadzētu būt iespējai saistīt tabulas vai pievienoties tām, pamatojoties uz valsts nosaukuma lauka kopējo vērtību. Šādā veidā ir iespējams veikt atlasi vienā tabulā, kas arī atlasa saistītos ierakstus otrā tabulā, vai apvienot tabulas vienā virtuālā tabulā. Mēs varētu izvēlēties vienu ierakstu, kas pārstāv Vašingtonas štatu norāda.dbf tabulu un automātiski atlasiet visus ierakstus no pilsētas.dbf tabula, kas attēlo Vašingtonas štata pilsētas.

Mēs padziļināti strādāsim ar tabulu pievienošanu un saistīšanu vēlāk tabulu izveidē un modificēšanā.

Tabulu veidi ArcGIS

Katram ArcGIS slānim (izņemot peldošā komata režģus, kas tiks apspriesti vēlāk) ir atribūtu tabula. Tabulu veikalos ir ģeometrijas tips (punkts, līnija, daudzstūris utt.), Kā arī citi lietotāja definēti atribūti. Viss, ko vēlaties saglabāt kā informāciju par līdzekļiem, var tikt saglabāts slāņa atribūtu tabulā. Funkciju mērījumus (koordinātu atrašanās vietu, garumu un laukumu) var arī aprēķināt un saglabāt kā objektu atribūtus.

Rastra režģiem ar veselu skaitļu vērtībām ir arī atribūtu tabulas, taču sakarība nav viens pret vienu, šūna uz ierakstu, bet gan pa zonām. Režģa vērtību atribūtu tabula būtībā ir frekvenču tabula, kurā katrai unikālajai vērtībai (zonai) ir ieraksts, kurā uzskaitīts šūnu skaits šajā zonā. Zonas tiks aplūkotas vēlāk Rastra analīzē.

Lūdzu, ņemiet vērā, ka lielākā daļa datu, ar kuriem jūs sastapsities, būs iegūti ArcInfo. ArcInfo atribūtu tabulas ir strukturētas atšķirīgi no citām atribūtu tabulām, taču funkcionālās atšķirības ir tikai nelielas.

ĢIS var būt arī tabulas, kurām nav saistības ar ģeotelpisko datu slāņiem. Jums var būt brīvi stāvošas tabulas, kurās attēloti zemes seguma daudzstūru biotopu kodi, ID numuri un ligzdošanas statistika vaislas putnu pāriem, vai aptaujāto mājsaimniecību grupas tālruņu numuri un adreses.

  • relāciju datu bāzes tabulas, kas glabājas personiskajā ģeodatubāzē
  • dBASE faili
  • cilnes vai ar komatu norobežoti vienkāršā teksta (ASCII) faili
  • INFO datu bāzes tabulas (no ArcInfo)

Tabulas darbības ArcGIS

Lai gan pilna apmācība tiks sniegta vēlāk, šeit ir īss ievads par dažām svarīgām tabulas darbībām, kas pieejamas ArcGIS.

Apvienojumi tiek veikti, lai vienas tabulas saturu pievienotu citai. Tabulām ir nepieciešams kopīgs lauks, piemēram, vaislas pāra ID numurs, stenda nosaukums vai valsts FIPS kods.

Kad ArcGIS tiek savienotas 2 tabulas, viena tabula tiek pievienota otrai kā viena virtuāla tabula.

Pievienošanās ir tikai īslaicīga. Apvienojumi fiziski nepievieno sistēmas failus, kuros ir tabulas dati. Katrs pievienotais galds joprojām pastāv atsevišķi.

Saistības ir līdzīgas savienojumiem, taču saistītās tabulas nav pievienotas viena otrai. Tā vietā, kad tiek veikta atlase vienā no 2 saistītajām tabulām, tiek atlasīti arī visi saistītie vienumi otrā tabulā. Līdzīgi kā savienojumi, relācijas ir aktīvas tikai ArcGIS, un tās nemaina diska diskdzinī esošo failu stāvokli.

Tabulas datu attēlošana telpiskā kontekstā

Tā kā tabulas un telpiskie dati telpisko datu slānī sakrīt, ir iespējams veikt izvēli par telpiskajām pazīmēm un pēc tam apskatīt šo objektu atribūtu ierakstus. Šeit no kartes displeja tiek izvēlēts viens statīvs un tiek apskatīti tā tabulas atribūti.

Tāpat ir iespējams atlasīt ierakstus no slāņa atribūtu tabulas un ģeogrāfiskā skata logā izcelt saistītās telpiskās iezīmes. Šeit tiek atlasīta ierakstu grupa no tabulas Statīvi, un saistītie daudzstūri tiek automātiski iezīmēti. Tā ir standarta darbība slāņiem un ar tiem saistītajām tabulām ArcGIS

Tādā veidā jūs varat vai nu uzzināt objektu īpašības, pamatojoties uz to atrašanās vietu, vai izvēlēties objektus, pamatojoties uz to īpašībām, un pēc tam redzēt, kur objekti ir izvietoti telpiski.


Ģeotelpisko daudzstūru atšķirības funkcija

Līdzībai ir svarīga loma daudzos datu ieguves uzdevumos un informācijas izguves procesos. Lielākā daļa uzraudzīto, daļēji uzraudzīto un neuzraudzīto mācību algoritmu ir atkarīgi no atšķirības funkcijas izmantošanas, kas mēra datu kopas objektu pāru līdzību. Tomēr tradicionāli lielākā daļa līdzības funkciju nespēj pienācīgi apstrādāt visus ģeotelpisko daudzstūru telpiskos atribūtus, jo daudzstūrainajās datu kopās esošā strukturālā un topoloģiskā informācija ir nepilnīgi kvantitatīvi attēlota. Šajā rakstā mēs piedāvājam jaunu atšķirības funkciju, kas pazīstama kā daudzstūra atšķirības funkcija (PDF), kas visaptveroši integrē daudzstūra telpiskos un ārpus telpiskos atribūtus, lai īpaši ņemtu vērā blīvumu, izplatību un topoloģiskās attiecības, kas pastāv daudzstūra datu kopās. Mēs pārstāvam daudzstūri kā iekšējo telpisko atribūtu, ārējo telpisko atribūtu un ārpus telpisko atribūtu kopumu. Izmantojot šo daudzstūru attēlojumu, PDF tiek definēts kā attāluma svērtā funkcija starp diviem daudzstūriem dažādās atribūtu telpās. Lai novērtētu mūsu atšķirības funkciju, mēs salīdzinām un pretstatām to citām literatūrā piedāvātajām attāluma funkcijām, kas darbojas gan ar telpiskiem, gan ar telpiskiem atribūtiem. Turklāt mēs īpaši pētām mūsu atšķirības funkcijas efektivitāti klasterizācijas lietojumprogrammā, izmantojot particionālu klasterizācijas paņēmienu (piemēram, (k ) -medoids), izmantojot divas raksturīgi atšķirīgas datu kopas: (a) neregulāras ģeometriskas formas, ko nosaka dabiski procesi, ti, ūdensšķirtnes un b) daļēji regulāras ģeometriskas formas, ko noteikuši cilvēku eksperti, ti, apgabali.

Šis ir abonementa satura priekšskatījums, kuram var piekļūt, izmantojot jūsu iestādi.


Grupējiet blakus esošos daudzstūrus ar līdzīgiem (bet ne vienādiem) atribūtiem - ģeogrāfiskās informācijas sistēmas

12. VIENĪBA - ATTIECĪBAS UZ TERMIŅA OBJEKTIEM

Sastādīts ar Džeralda Vaita palīdzību, Kalifornijas štata universitāte, Sakramento

Šī telpisko datu bāzu moduļa pēdējā vienība aplūko sarežģīto attiecību jautājumu un to, kā tās var kodēt. Šeit ieviestais svarīgais plaknes izpildes jēdziens ir vairākkārt minēts turpmākajās vienībās.

12. VIENĪBA - ATTIECĪBAS UZ TERMIŅA OBJEKTIEM

Sastādīts ar Džeralda Vaita palīdzību, Kalifornijas štata universitāte, Sakramento

    telpiskajos datos ir ļoti daudz iespējamo sakarību

  • piem. "ir ietverts" attiecībās starp punktu un zonu ir svarīga, saistot objektus ar apkārtējo vidi
  • piem. "krustojas" starp divām līnijām ir svarīga, analizējot maršrutus caur tīkliem

  • piem. katram tirdzniecības centram var atrast tuvāko iepirkšanās centru (tāda paša veida)
  • piem. katram klientam var atrast tuvāko tirdzniecības centru (dažādi veidi)

    1. attiecības, ko izmanto, lai no vienkāršiem primitīviem veidotu sarežģītus objektus
    • piem. attiecības starp līniju (ķēdi) un sakārtotu punktu kopumu, kas to nosaka
    • piem. attiecība starp apgabalu (daudzstūri) un sakārtotu līniju kopu, kas to nosaka

    • piem. var pārbaudīt divas līnijas, lai redzētu, vai tās šķērso - var aprēķināt "krustu" attiecības
    • piem. apgabalus var pārbaudīt, lai noskaidrotu, kurš no tiem ietver noteiktu punktu - var aprēķināt attiecību "ir ietverts"
    • piem. apgabalus var pārbaudīt, vai tie pārklājas - "pārklāšanās" attiecības

    • piem. mēs varam aprēķināt, ja divas līnijas šķērso, bet ne tad, ja to pārstāvētās automaģistrāles krustojas (var būt pārvads)
    • dažas datu bāzes pieļauj entītiju, ko sauc par "sarežģītu objektu", kas sastāv no "vienkāršiem objektiem", piem. objekti, kas apzīmē "māju", "partiju", "kabeli", ar

    saistītos atribūtus var loģiski sagrupēt kā "kontu"

      "ir iekšā", piem. atrodiet visus klientu punktus 1 km attālumā no šī mazumtirdzniecības veikala punkta

      "beidzas", piem. atrodiet krustojumu šīs ielas beigās

      "ir ietverts", piem. atrodiet visus klientus, kas atrodas šajā pasta indeksa robežā

      "krusti", piem. noteikt, vai šis ceļš šķērso šo upi

      "krusti", piem. atrodiet visus augsnes veidus, kurus šķērso šis dzelzceļš

      "pārklājas", piem. identificēt visus pārklājumus starp augsnes veidiem šajā kartē un zemes izmantošanas veidiem šajā citā kartē

      datu bāzes modelī attiecības varam vizualizēt kā papildu atribūtus

      pieskaitāmās izmaksas - attiecību kodēšana kā atribūti I

    • katrai straumes saitei plūsmas tīklā varētu piešķirt pakārtotās saites ID, kurā tā ieplūst
    • plūsmu varētu izsekot no saites uz saiti, ievērojot norādes

    • alternatīvi, tīklu var kodēt kā divas entītiju kopas - saites un mezglus
    • saites varētu "norādīt" uz to pakārtoto mezglu
    • mezgli varētu "norādīt" uz nākamo pakārtoto saiti

      pieskaitāmās izmaksas - kodēšanas attiecības kā atribūti II

    • 4 urbumu atrašanās vietas ar dziļuma un plūsmas atribūtiem
    • akas atrodas divos dažādos apgabalos ar iedzīvotāju īpašībām

      saglabāt rezultātu kā jaunu atribūtu County katrā iedobē

    2. izmantojot šo pārskatīto atribūtu tabulu, kopējo plūsmu pa apgabaliem un pievienojiet rezultātus apgabala tabulai

    Novada iedzīvotāju plūsma A 20 000 4500 B 35 000 5500

      attālums ir objektu pāra atribūts

    • piem. braucēju plūsma starp piepilsētu un centru
    • piem. tirdzniecība starp divām valstīm
    • piem. gruntsūdeņu plūsma starp izlietni un avotu

    • piem. kartē tirdzniecība var būt bultiņas atribūts, kas savieno abas valstis
      • biezas bultiņas norāda uz spēcīgu tirdzniecību

      • attālums
      • savienojamība - jā vai nē
      • preču plūsma, tirdzniecība
      • braucienu skaits

      • piem. pārvietošanās plūsmas starp piepilsētu un centru nav obligāti neviena transporta tīkla saišu kopas atribūti
      • piem. gruntsūdeņu plūsma starp izlietni un avotu ne vienmēr notiek pēc ūdens nesējslāņa vai cauruļvada

        ir daudz dažādu terminu šīs koncepcijas īstenošanai - piem. mijiedarbības matrica, pagrieziena galds, Dekarta produkts

      • ja karte ir izstiepta un sagrozīta, mainās daži tās rekvizīti, tostarp:
        • attālumus
        • leņķi
        • relatīvie tuvumi

        • blakusesības
        • lielākā daļa citu attiecību, piemēram, "ir ietvertas", "krusti"
        • telpisko objektu veidi - apgabali paliek apgabali, līnijas paliek līnijas, punkti paliek punkti

        • telpisko datu bāzi bieži sauc par "topoloģisku", ja ir aprēķināta un saglabāta viena vai vairākas no šīm attiecībām
          • saišu savienojamība krustojumos
          • pasūtīts līniju kopums (ķēdes), kas veido katru daudzstūra robežu
          • blakus esošās attiecības starp apgabaliem

            ar objektiem var manipulēt individuāli

          • tomēr tie ir apmierinoši, lai vienkārši kartētu datus
          • daudzās kartēšanai paredzētās pakās tiek izmantoti tikai kartogrāfisko datu bāzu modeļi
          • kartogrāfisko datu bāzi parasti var pārvērst topoloģiskā datu bāzē, aprēķinot attiecības - topoloģijas veidošanas process, izmantojot plakanu izpildi

            objekti un to atribūti spēj aprakstīt kartē vai realitātē pastāvošos apstākļus

          • piem. pacēlums, kas aprakstīts, piešķirot augstuma punktiem atribūtus
          • piem. augsnes tips, kas aprakstīts, piešķirot teritorijām atribūtus

          • piem. divas jomas nevar pārklāties
          • piem. katrai vietai jāatrodas tieši vienā apgabalā vai uz robežas

            tiek uzskatīts, ka objektu kopums, kas ievēro šos noteikumus, ir plakans

            jāsāk ar vairākiem nesaistītiem līniju segmentiem
              iedomājieties vairākas klibas spageti nūdeles, kas guļ uz galda

            • 0 šūnu (vai mezglu) identificē visur, kur divas nūdeles šķērso vai nūdeles beidzas
              • i., tiek aprēķināti visi krustojumi

              • 0 šūnas ir vai nu izolētas ("punkti"), vai blakus vienai vai vairākām 1 šūnām ("mezgli")
              • visas 1 šūnas beidzas tieši ar divām 0 šūnām
              • katrs līnijas segments (ķēde) starp blakus esošajām 0 šūnām tiek piešķirts tieši vienai 1 šūnai
              • visas 1 šūnas atrodas starp divām divām 2 šūnām
              • katra vieta "kartē" starp nūdelēm ir piešķirta vienai divšūnu vietai (arī pārējā pasaule ir divu šūnu, bieži vien norādot nulli)

                planāro izpildi izmanto, lai veidotu objektus no digitalizētām līnijām (līdz ar to frāze "ēkas topoloģija")

                it is a consistent and precise approach to the problem of making meaningful objects out of groups of lines

                a very short 1-cell terminating in a 1-valent 0-cell indicates an overshoot diagram

              • piem. if the source is a cartographic database and needs to have relationships computed
              • piem. if the database models of the two systems are incompatible, data is transferred as unrelated noodles, then objects are rebuilt

                in general, it is easier to work with relationships in vector systems
                  the concept of object is not as natural for raster systems, which model the world as composed of pixels

                • piem. a map of county boundaries
                • in one layer each pixel has a county code attribute which is an ID pointing to an entry in a county attribute table

                  most do not handle relationships between spatial objects

                Burrough, P.A., 1986. Principles of Geographical Information Systems for Land Resources Assessment. Clarendon, Oxford. Chapter 2 describes objects, attribute tables and relationships.

                Goodchild, M.F., 1988. "Towards an enumeration and classification of GIS functions," Proceedings, IGIS '87. NASA, Washington DC 2:67-77. Defines and discusses object pairs.

                Keating, T., W. Phillips and K. Ingram, 1987. "An integrated topologic database design for geographic information systems," Photogrammetric Engineering and Remote Sensing Vol. 53. Good discussion of topological and cartographic database models.

                1. Discuss the use of planar enforcement for street networks, and the problems presented by overpasses and underpasses. Can you modify the basic rules to maintain consistency but allow for such instances?

                2. What additional examples of relationships can you devise in each of the six categories used in section B?

                3. Why have designers of raster GIS not commonly devised ways of coding spatial relationships between objects in their systems? Is this likely to change in the future, and if so, why?

                4. "Topology is what distinguishes GIS from automated cartography". Apspriest.


                Lūdzu, sūtiet komentārus par saturu: Brian Klinkenberg
                Lūdzu, sūtiet komentārus par tīmekļa vietnes problēmām: Techmaster
                Pēdējoreiz atjaunināts: 1997. gada 30. augustā.


                Sintakse

                The feature class or feature layer for which you want to create groups.

                An integer field containing a different value for every feature in the input feature class. If you don't have a Unique ID field, you can create one by adding an integer field to your feature class table and calculating the field values to equal the FID or OBJECTID field.

                The new output feature class created containing all features, the analysis fields specified, and a field indicating which group each feature belongs to.

                The number of groups to create. The Output Report parameter will be disabled for more than 15 groups.

                A list of fields you want to use to distinguish one group from another. The Output Report parameter will be disabled for more than 15 fields.

                Specifies if and how spatial relationships among features should constrain the groups created.

                • CONTIGUITY_EDGES_ONLY —Groups contain contiguous polygon features. Only polygons that share an edge can be part of the same group.
                • CONTIGUITY_EDGES_CORNERS —Groups contain contiguous polygon features. Only polygons that share an edge or a vertex can be part of the same group.
                • DELAUNAY_TRIANGULATION —Features in the same group will have at least one natural neighbor in common with another feature in the group. Natural neighbor relationships are based on Delaunay Triangulation. Conceptually, Delaunay Triangulation creates a nonoverlapping mesh of triangles from feature centroids. Each feature is a triangle node and nodes that share edges are considered neighbors.
                • K_NEAREST_NEIGHBORS —Features in the same group will be near each other each feature will be a neighbor of at least one other feature in the group. Neighbor relationships are based on the nearest K features where you specify an Integer value, K, for the Number_of_Neighbors parameter.
                • GET_SPATIAL_WEIGHTS_FROM_FILE —Spatial, and optionally temporal, relationships are defined by a spatial weights file ( .swm ). Create the spatial weights matrix file using the Generate Spatial Weights Matrix or Generate Network Spatial Weights tool.
                • NO_SPATIAL_CONSTRAINT —Features will be grouped using data space proximity only. Features do not have to be near each other in space or time to be part of the same group.

                Specifies how distances are calculated from each feature to neighboring features.

                • EUCLIDEAN —The straight-line distance between two points (as the crow flies)
                • MANHATTAN —The distance between two points measured along axes at right angles (city block) calculated by summing the (absolute) difference between the x- and y-coordinates

                This parameter may be specified whenever the Spatial_Constraints parameter is K_NEAREST_NEIGHBORS or one of the contiguity methods ( CONTIGUITY_EDGES_ONLY or CONTIGUITY_EDGES_CORNERS ). The default number of neighbors is 8 and cannot be smaller than 2 for K_NEAREST_NEIGHBORS . This value reflects the exact number of nearest neighbor candidates to consider when building groups. A feature will not be included in a group unless one of the other features in that group is a K nearest neighbor. The default for CONTIGUITY_EDGES_ONLY and CONTIGUITY_EDGES_CORNERS is 0 . For the contiguity methods, this value reflects the minimum number of neighbor candidates to consider. Additional nearby neighbors for features with less than the Number_of_Neighbors specified will be based on feature centroid proximity.

                The path to a file containing spatial weights that define spatial relationships among features.

                Specifies how initial seeds are obtained when the Spatial_Constraint parameter selected is NO_SPATIAL_CONSTRAINT . Seeds are used to grow groups. If you indicate you want three groups, for example, the analysis will begin with three seeds.

                • FIND_SEED_LOCATIONS —Seed features will be selected to optimize performance.
                • GET_SEEDS_FROM_FIELD —Nonzero entries in the Initialization Field will be used as starting points to grow groups.
                • USE_RANDOM_SEEDS —Initial seed features will be randomly selected.

                The numeric field identifying seed features. Features with a value of 1 for this field will be used to grow groups.

                The full path for the PDF report file to be created summarizing group characteristics. This report provides a number of graphs to help you compare the characteristics of each group. Creating the report file can add substantial processing time.

                • EVALUATE —Groupings from 2 to 15 will be evaluated.
                • DO_NOT_EVALUATE —No evaluation of the number of groups will be performed. Tas ir noklusējums.