Daugiau

Pridėti žymeklį daugiakampių centre naudojant „OpenLayers 2“?


Parašiau kodą piešti daugiakampį iš WKT formato. Dabar turiu pridėti žymeklį jo centre. Toliau pateiktame kode praleidau centrą ir formą WKT formatu (išgauta iš duomenų bazės).

funkcija drawPolygon (id, forma, centras) {var element = shape; var funkcijos = nauji OpenLayers.Format.WKT (). skaityti (elementas); features.geometry.transform (toProjection, fromProjection); var centre_poly = nauji OpenLayers.Format.WKT (). skaityti (centre); centre_poly.geometry.transform (toProjection, fromProjection); var featurePoint = nauji OpenLayers.Feature.Vector (centre_poly, {externalGraphic: 'img/map-marker.png ">

„OpenLayers“ turi funkciją „GetCentroid“, skirtą gauti daugiakampio centrą, jei nenorite jo tiesiogiai įkelti iš duomenų bazės:

http://dev.openlayers.org/apidocs/files/OpenLayers/Geometry-js.html#OpenLayers.Geometry.getCentroid

Iš ten jūs turėtumėte sugebėti tašką traktuoti kaip įprastą taško funkciją. Taip pat žiūrėkite šį pavyzdį: http://openlayers.org/en/master/examples/icon.html?q=marker

var iconFeature = new ol.Feature ({geometry: geometry_from_GetCentroid, name: 'Null Island', gyventojų skaičius: 4000, kritulių kiekis: 500})

Kaip sukurti „Openlayer“ žemėlapio valdiklių temą?

„Openlayers“ modulyje yra numatytasis žemėlapių rinkinys. Galima pridėti sluoksnių šablonus, tačiau atrodo, kad valdikliai visada yra tie patys (žr. Paveikslėlį). Yra valdikliai, esantys vaizduose, esančiuose CDN, pvz., Http://cdnjs.cloudflare.com/ajax/libs/openlayers/2.13.1/img/zoom-plus-mini.png

Ar yra būdas stilizuoti „Openlayer“ žemėlapių valdiklius? Kitaip tariant, pritaikyti savo CSS ar vaizdus?


4.2 Erdvinių duomenų struktūra

Duomenų struktūrizavimas yra faktinis metodas, naudojamas duomenims tvarkyti ir saugoti duomenų bazėje. Iš esmės tai reiškia, kad tam, kad duomenys būtų naudingi GIS, jie turi būti apdorojami ir išdėstomi duomenų bazėje taip, kad jie būtų prasmingi ir nuoseklūs daugeliui vartotojų tiek dabar, tiek ateityje. Kad GIS veiktų, reikia skaitmeniniu būdu įvesti dviejų rūšių informaciją: i) kur objektas yra žemėlapyje ir ii) koks yra žemėlapio objektas. Šie du informacijos rinkiniai sudaro dvi pagrindines duomenų bazių rūšis, kurios būtinai turi būti sukurtos kaip GIS dalis - jos paprastai vadinamos grafinėmis (turinčiomis geometrinę ar erdvinę informaciją) ir negrafinėmis (turinčiomis atributo ar požymio kodą). duomenų bazės. Nors praktikoje kai kurios GIS grafinius ir atributų duomenis saugo kartu toje pačioje duomenų bazėje, šiame skyriuje mes svarstysime tik erdvinių duomenų struktūrą, o ne erdvinių duomenų struktūra nagrinėjama 4.3 skyriuje. Daugiau informacijos apie duomenų struktūrizavimo svarbą pateikta Burrough (1986), Star and Estes (1990), Martin (1991), Bernhardsen (1992) ir kituose pagrindiniuose GIS tekstuose. Rackham ir Gower (1993) aptaria svarbų modelį, kuriame aprašomos visos charakteristikos (arba specifikacijos), kurių duomenys turėtų atitikti, jei jie bus optimaliai naudojami GIS, ty duomenų turinio, klasifikavimo metodų, duomenų struktūros, duomenų surinkimas ir atnaujinimas, duomenų pateikimas ir duomenų kokybė. Neseniai buvo pasiūlytas duomenų inventorizacijos metodas, skirtas žvejybos GIS programoms kurti, t. Y. Vakarų Afrikos jūrų žvejybos GIS, kurią kuria FAO (Taconet ir Bensch, 1995).

Iš mūsų trumpos aukščiau pateiktos diskusijos apie modeliavimą aišku, kad GIS turi turėti tam tikrą būdą atpažinti, kur yra bet kokie duomenys. Lengvas būdas suprasti, kaip tai pasiekiama, yra pirmiausia suprasti, kad iš esmės visi geografiniai ar erdviniai subjektai, t. Y. Simbolis, sukurtas žemėlapyje, gali būti suskirstyti tik į tris kategorijas:

i) Taškai. Tai galima įsivaizduoti kaip taškus žemėlapyje. Taškas gali reikšti viską, kas yra vienoje vietoje, pvz. uostas, dokas, perykla ir tt Iš karto bus pažymėta, kad tai, ar objektas gali būti pavaizduotas kaip taškas, priklauso nuo žemėlapio, kuriame jis gali būti rodomas, mastelio. Taigi, nedidelio masto žemėlapyje, pvz. 1: 1 000 000, miestas bus rodomas kaip taškas, bet tas pats miestas nebūtų taškas 1:10 000 žemėlapyje.

ii) Linijos. Tai gali būti bet koks tiesinis bruožas, pvz., Kelias, geležinkelis, upelis ar tvora. Daugumoje kartografinių mastelių šios savybės išlaikys savo tiesinę formą, tačiau, kaip ir taškų atveju, detalumo ir apibendrinimo laipsnis skirsis priklausomai nuo masto. GIS terminologijoje taškas, kuriame susikerta dvi linijos (dar vadinamos segmentais, lankais, grandinėmis ar nuorodomis), vadinamas mazgu.

iii) sritys. Tai yra 2-D vienetiniai paviršiaus erdvės blokai. GIS arba erdvinės analizės žargone jie vadinami daugiakampiais. Jie gali būti IEZ, lagūnos, mangrovės, ežerai ir tt Kai žemėlapiuose rodomi labai nedideli matmenys, šios savybės taip pat gali tapti taškais.

Akivaizdu, kad patys susieti objektai taip pat turės kitą dimensiją - aukštį, o duomenys apie tai dažnai yra kaupiami ir saugomi. Tačiau GIS ir kartografavimo tikslais fizinė sistemos išvestis gali būti tik dviejų matmenų, nors kompiuterio ekrane galima rodyti 3D vaizdus.

GIS veikia turėdama vidinę kodavimo sistemą, kuri įvairiais būdais paskirsto vietą šiems trims erdvinių objektų tipams. Taigi taškus galima lengvai rasti naudojant koordinačių nuorodų sistemą linijinės ypatybės gali būti pavaizduotos suskaidant jų & ldquostretches & rdquo į tiesias dalis ir paskirstant koordinates mazgams kiekvieno ruožo galuose, o sritys gali naudoti koordinates surasti uždarų daugiakampių ribas (kampus). Atliekant geografines nuorodas, GIS programinei įrangai svarbu, kad visiems duomenims būtų priskirtas unikalus identifikatorius, ty identifikatorius, kurį būtų galima atpažinti pagal iš anksto užprogramuotą etiketę ar koordinatę, ir tas, kurį būtų galima susieti į atributų duomenų bazės duomenis. Dabar galime pateikti keletą priimtinų ir dažniausiai naudojamų geografinių nuorodų pavyzdžių.

a) Topografinių tinklelių nuorodos. Visi oficialūs Ordnance Survey (topografiniai) žemėlapiai turi tinklų nuorodų sistemą. Tai dažnai grindžiama universalia skersine Mercator (UTM) sistema, tačiau gali būti naudojamos ir kitos žemėlapio projekcijos sistemos. Taigi bet kuriai taško ypatybei, linijinių bruožų sankirtoms, sričių kampams ir pan. Galima nurodyti koordinatę. Šio taško atskaitos tikslumas priklausys ir nuo kartografavimo skalės, ir nuo atliekamos užduoties. Dažniausiai naudojamas tinklelio nuorodų variantas yra platumos ir ilgumos koordinačių naudojimas.

b) Pašto kodai arba pašto kodai. Šie identifikatoriai paprastai nurodo sritį, apibrėžtą pašto tarnyboms (4.2 pav.). Daugelio pašto kodų hierarchinis pobūdis suteikia galimybę analizuoti erdvinius duomenis esant skirtingoms rezoliucijoms.

c) Gatvių pavadinimai. Jie lengvai paskirstomi ir atpažįstami, tačiau duomenys gali būti kaupiami tik iki gatvės lygio, o tai kartais gali būti nepatogu kartografavimo tikslais. Akivaizdu, kad kitos linijinės savybės taip pat gali turėti pavadinimus, tokius kaip greitkelių numeriai ar upių pavadinimai.

4.2 pav. JAV naudojamos nacionalinės pašto kodų sistemos pavyzdys (po Robinsono ir kt., 1995)

d) Kiti pavadinti antenos vienetai. Orlaivių pavadinimai gali skirtis priklausomai nuo kaimų, miestelių, miestų, valstijų ir šalių, arba jie akivaizdžiai gali būti susiję su kitais ne miesto objektais, pvz., Ežerais, miškais, jūromis ir tt. Daugeliu atvejų informacija gali būti susijusi su vietovėmis, kurios buvo sukurtos (ir pažymėtos) specialiems tikslams, tokiems kaip išsaugojimo zonos, natūralios augmenijos zonos, pardavimo pajėgų zonos, jūros padaliniai, žuvininkystės statistikos zonos ir kt.

e) surašymo padalinių pavadinimai. Daugelis šalių suskirstė savo teritoriją, kad surinktų surašymą ir kitus socialinius ar ekonominius duomenis, į pripažintų seniūnijų ar rajonų sričių hierarchiją.

Nustačius, kad yra trijų tipų erdviniai duomenys (taškai, tiesės ir daugiakampiai) ir kad juos galima įvairiai geografiškai susieti, dabar svarbu parodyti, kaip šias funkcijas galima geriausiai struktūrizuoti taip, kad GIS programinė įranga suprastų .

Sėkmingiausios duomenų struktūros yra tos, kurios suteikia didžiausią lankstumą atliekant įvairias manipuliacijas ir analizę, kurios bus aprašytos 6 skyriuje. Yra dvi pagrindinės duomenų organizacinės struktūros (dar vadinamos režimais, modeliais ar formatais), kurias GIS programos naudoja erdviniams duomenims: i) vektorinis režimas ir ii) rastrinis režimas, nors Cassettari (1993) pateikia informaciją apie kitus duomenų struktūrizavimo būdus. Paprastas vektorinio modelio (A) ir rastrinio modelio (B) palyginimas pateiktas 4.3 pav.

4.3 pav. Vektorinio modelio (A) ir rastrinių duomenų modelio (B) palyginimas

4.2.1 Vektorių duomenų struktūra

Vektorinės duomenų struktūros taškai, tiesės ir daugiakampiai yra įrašomi pagal jų geografines x ir y koordinates. Taigi vektorinių duomenų struktūra susijusi su ribomis. Praktiškai tai reiškia, kad asmuo, valdantis GIS, bet kuriai konkrečiai GIS užduočiai nurodys programinei įrangai galimus kraštutinumus žemėlapyje, t. Y. Geografinę nuorodą viršutiniam dešiniajam ir apatiniam kairiajam kampui. Geografinės nuorodos detalumas pagal matavimo tikslumą, pvz. tinklelio nuorodos į keturias vietas po kablelio, nustatys gatavo žemėlapio tikslumą. Kai tam tikros žemėlapio detalės (koordinatės) įvedamos į grafinę duomenų bazę, jos turi turėti geografines nuorodas, kurios yra užprogramuotos žemėlapio kraštutinumuose. Akivaizdu, kad piešiant bet kurį konkretų žemėlapį gali prireikti daugybės tūkstančių koordinačių. Kartu su koordinačių duomenimis įvedamos instrukcijos, kurie taškai išilgai linijos yra prijungti arba atjungti. Šios instrukcijos piešimo metu suaktyvins & ldquopen up & rdquo arba & ldquopen down & rdquo funkcijas. Norint gauti tobulas kreives ar paraboles, kurios, jei jos būtų detaliai nubrėžtos, galėtų įvesti šimtus koordinačių, galima tiesiog įvesti bet kokią kreivės lygties funkciją, kurią atpažįsta GIS, arba naudoti spline funkcijas (žr. , 1986 arba Laurini ir Thompson, 1992).

Tikroji vektorinė grafinė duomenų bazė, sukurta saugoti susietų objektų (taškų, linijų ar daugiakampių) vietos informaciją, bus koduota skaitmeniniu formatu. Unikalių identifikatorių priskyrimas susietiems objektams dažnai bus grindžiamas hierarchine kodavimo sistema, kaip parodyta 4.4 paveiksle. Čia matome, kad yra pagrindinių objektų grupių ir kiekvienoje iš jų gali būti įvairių pakategorių lygių. Pačią duomenų bazę gali sudaryti skaičių eilutė, kurios viena dalis gali būti tokia:

Tai būtų suprantama GIS programinei įrangai:

Skaitinis-5= Piešimo sekos pradžia
4100= unikalus identifikatorius
48= brėžiamas linijos storis
31864= pirma Rytų koordinatė
68943= pirmoji šiaurės koordinatė
42795= paskutinė rytų koordinatė
98052= paskutinė šiaurės koordinatė
-5= eilutės sekos pabaiga - kitos sekos pradžia

Paprastai kiekvienam objekto tipui žemėlapyje būtų atskira skaičių eilutė ir visi objektų tipai turėtų būti užregistruoti panašioje geografinių nuorodų sistemoje. Šio tipo skaitmeninės eilutės gali būti aiškiai naudojamos atvaizduoti atvaizdą, kurį sudaro linijos, taškai ir daugiakampio ribos. Įprasta, kad visos vienos duomenų bazės koordinatės nurodo tik vieną objektų klasę, pvz. pakrantės ribos, keliai, upės ir kt. Tada kiekviena duomenų bazė gali būti naudojama vienam kartografuotam & ldquolayer & rdquo sukurti, o keli & ldquolayers & rdquo gali būti uždėti vienas vektorinis žemėlapis (4.5 pav.).

4.4 pav. Skaitmeninis kodavimas, priskirtas vektoriniams grafiniams duomenims, siekiant nustatyti skirtingas objektų kategorijas

4.5 pav. Modelis, rodantis sluoksnius, naudojamus pagrindiniam vektoriniam pakrančių zonų žemėlapiui sudaryti

Vektorių duomenų struktūrą galima suskirstyti į du modelius. Kai vektoriniai duomenys yra neapdoroti, juos gali sudaryti eilutės, einančios pagal duomenų bazėje įvestas koordinates. Linijos gali būti nesujungtos, jos gali kirsti viena kitą, bendros ribos galėjo būti užregistruotos du kartus ir paprastai nėra loginės duomenų struktūros. Tai vadinama & ldquospaghetti & rdquo duomenimis. Nors jis gali būti efektyviai pateiktas ekrane arba išspausdintas, t. Y. Todėl, kad jo koordinatės yra įrašytos į atributų lentelę, tai gali būti mažai naudinga GIS, nes taškų, linijų ir daugiakampių ryšys nežinomas. Geografinei paieškai ar analizei turi būti naudojamas antrasis vektorinis modelis, t. Y. Topologinis modelis (arba & ldquointelligent vektoriai & rdquo). Vektorinės topologinės duomenų struktūra parodyta 4.6 paveiksle. Ši struktūra skirta nustatyti objektų vietą vienas kito atžvilgiu, apibrėžiant ryšį, gretimumą ir izoliaciją. Topologijoje galutiniai taškai ir linijų sankirta registruojami kaip mazgai, tiesės yra nuorodos tarp mazgų, o uždaros sritys, apibrėžtos nuorodų grandine, įrašomos kaip daugiakampiai. Topologinė struktūra leidžia aiškiai apibrėžti erdvinius ryšius atributų duomenų bazėje pagal 4.6 paveiksle parodytą topologinį kodavimą. Nustačius topologiją bet kuriam susietam sluoksniui, lengviau atnaujinti duomenis, o tai reiškia, kad informacijos saugojimo reikalavimai yra mažesni, nes duomenų apie bendras linijas ar mazgus nereikia įvesti du kartus. Tai taip pat reiškia, kad tada galima atlikti daug tikrų GIS manipuliavimo ar analitinių funkcijų.

4.2.2 Rastrinių duomenų struktūra

Ši duomenų struktūra susijusi ne su ribomis, o su atstumu tarp ribų, t. Y. Visoms žemėlapio sritims turi būti priskirtas šio atributo atributas arba vertė. Ribos numanomos tik kaip melas ten, kur vyksta vertės pokyčiai. Pagrindinė rastrinė struktūra, apimanti tą patį & ldquomapped & rdquo plotą, kaip parodyta 4.6 paveiksle, parodyta 4.7 paveiksle. Jis kartais vadinamas tinklelio modeliu, nes duomenys saugomi ląstelių matricoje (kurios pačios gali būti vadinamos pikseliais). Šios ląstelės paprastai yra kvadratinės, tačiau jos gali būti stačiakampės, trikampės arba šešiakampės arba iš tikrųjų bet kokios taisyklingos formos, galinčios atskirti. Rastrinė duomenų struktūra yra palanki kartografavimui, kai pagrindiniai nagrinėjami objektai yra erdviniai teritoriniai vienetai, t. Y. O ne tiesiniai ar taškiniai vienetai.

Akivaizdu, kad naudojant šią duomenų struktūrą pavaizduotų objektų skiriamoji geba visiškai priklausys nuo naudojamų langelių dydžio. Palyginus 4.6 ir 4.7 paveikslus, paaiškėja, kad naudojant rastrinį formatą gali būti gauti labai neapdorotos skiriamosios gebos žemėlapiai, tačiau reikia mažai vietos kompiuteriui. Be to, kadangi kiekviena ląstelė gali įrašyti tik vieną reikšmę vienai žemėlapio temai, svarbu nepamiršti, kad ši reikšmė bus arba & ldquoaverage & rdquo, arba visų langelio variantų modalinė vertė, arba gali būti reikšmė, gauta centriniame taške ląstelės. Valenzuela ir Baumgardner (1990) pabrėžė, kad svarbu pasirinkti tinkamą langelio dydį, kuriuo būtų galima padalyti bet kurią susietą sritį, ir šis dydis atspindės keletą veiksnių, tokių kaip pirminių duomenų tikslumas, kartografavimo pratimai ir kompiuterio disko saugyklos vietos.

Geografinės nuorodos, taigi ir vieta, rastro struktūroje yra paprastos raidinės ir skaitmeninės koduotės vertikaliems ir horizontaliems langelių stulpeliams ir eilutėms. Kiekvienas kodas paprastai atitinka žemėlapyje esantį objektą, nors jis taip pat gali atitikti skirtingą spalvų atspalvį ar atspindžio vertę, ty pagal pikselių taškų atspalvius, sudarančius laikraščio paveikslėlį, arba atspindžio reikšmes, gautas per palydovinį RS įvaizdį. Kaip ir vektorinis modelis, rastriniai žemėlapiai taip pat sudedami į teminius sluoksnius. Tačiau rastrinėje struktūroje gali tekti turėti daug daugiau sluoksnių - taip yra todėl, kad pikseliui yra tik viena reikšmė, todėl ši vertė negali prisidėti prie išsamios atributų lentelės.

Naudojant rastrinę struktūrą būtina užrašyti tam tikrą kiekvieno pikselio (langelio) vertę. Dėl to gali prireikti labai didelių duomenų saugojimo reikalavimų, ypač jei naudojama smulkių pikselių skiriamoji geba. Pavyzdžiui, viename „Landsat“ teminio žemėlapio atvaizde yra apie 35 milijonus pikselių verčių. Siekiant išspręsti šią problemą, buvo sukurti du pagrindiniai duomenų glaudinimo būdai:

a) Vykdymo ilgio kodavimas. 4.7 paveiksle parodyta, kaip rodymo žemėlapiui buvo pritaikytas eigos ilgio kodavimas. Kadangi daugelis gretimų langelių turi tą pačią vertę, kiekvienoje eilutėje reikia nurodyti tik langelio vertę ir stulpelio numerį, kur ta vertė prasideda ir baigiasi.

4.6 pav. Paprastas vektorinis žemėlapis, turintis tašką, linijas ir daugiakampį su jų topologiniu kodu

4.7 pav. Paprastas rastrinis žemėlapis ir veikimo trukmės kodavimo struktūra, naudojama duomenims saugoti

b) Kvadratiniai medžiai. Ši technika pagrįsta nuosekliu tiriamos teritorijos padalijimu į mažesnius ir mažesnius kvadrantus, t. Y. Pagal tai, ar panašios vertės plotai yra visiškai kvadrante, ar ne. Žemiausias padalijimo lygis yra vienas pikselis. 4.8 (b) paveiksle pavaizduotas nuoseklus 4.8 (a) srities suskaidymas. Šis padalijimas paprastai rodomas keturių medžių 4.8 (c). Čia matyti, kad nukreiptame medyje yra nuorodų ir mazgų, pradedant nuo šakninio mazgo. Iš kiekvieno mazgo yra keturi & ldquoedges & rdquo, vaizduojantys keturis NW, N.E., S.W. ir S. E. Papildomi kvadrantai kyla tik iš mazgų, kurie rastriniame žemėlapyje rodomi kaip suskirstyti į dalis, t. Y. Duomenis reikia išsaugoti tik apie tas ląsteles, kurių koduojamas sluoksnis turi & ldquovalue & rdquo. Naudojant keturkampius, galima sutaupyti bent 50% duomenų. Bonham-Carter (1994) pateikia įdomų rastrinio ir vektorinio žemėlapio palyginimą pagal reikalingos skaitmeninės atminties vietos kiekį (4.9 pav.). Taigi A žemėlapis yra rastrinis vaizdas ir, atsižvelgiant į tai, kad 1 baitas yra lygus 1 pikseliui, jam reikia 709 042 baitų atminties. Vykdymo ilgio koduotai versijai reikia 21 903 baitų, o keturkampės versijos-19 473 baitų. Žemėlapiui B, vektorinei versijai, reikia 17 890 baitų.

4.8 pav. Trys Quadtree duomenų kodavimo struktūros kūrimo etapai (iš Burrough, 1986)

4.9 pav. Rastrinio žemėlapio (A) palyginimas su vektoriniu žemėlapiu (B) (išsamiau žr. Tekstą)

Kiekvienos duomenų struktūros privalumai ir trūkumai pateikti 4.1 lentelėje. GIS kūrimas yra toje stadijoje, kai visi sudėtingi GIS paketai gali apdoroti tiek rastrinius, tiek vektorinius apdorojimus, ir tikėtina, kad didžioji dalis duomenų ateityje bus įvesti rastrų formatu.

4.1 lentelė. Rastrinių ir vektorinių duomenų modelių palyginimas

1. Ji turi paprastą duomenų struktūrą.
2. Perdangos operacijos yra lengvai ir efektyviai įgyvendinamos.
3. Nuskaitymo technologijos gali pigiai pateikti didžiulį duomenų kiekį.
4. Vaizdo apdorojimo metodai gamina duomenis integravimui į GIS rastriniu formatu.
5. Ploto ir daugiakampio analizė yra paprasta.
6. Lengvai atliekamas perdengimas ir sujungimas.
7. Technologija yra pigi ir ateityje ji turės didesnių išlaidų pranašumų.
8. Jis puikiai tinka dalinti erdvinius tęstinius kintamuosius.
Trūkumai
1. Saugomų ir tvarkomų duomenų kiekis gali būti labai didelis.
2. Didesni pikselių dydžiai (prasta skiriamoji geba) gali smarkiai prarasti detales.
3. Galutiniai žemėlapiai gali būti gana neapdoroti, ypač sukurti naudojant pigesnę GIS programinę įrangą.
4. Linijinio tipo analizė yra sunkesnė.
5. Topologinius santykius sunku pavaizduoti.
VEKTORIUS MODELIS
Privalumai
1. Ji turi palyginti kompaktišką duomenų struktūrą, todėl saugojimo reikalavimai yra mažesni.
2. Funkcijos gali būti tiksliai išdėstytos.
3. Topologiją galima visiškai apibūdinti naudojant tinklo sąsajas.
4. Gali būti parodytos labai mažos funkcijos ir visos funkcijos gali būti tiksliai nupieštos.
5. Duomenys apie atskiras funkcijas gali būti lengvai gauti atnaujinti ar pataisyti.
6. Linijinio tipo analizės yra lengvai atliekamos.
Trūkumai
1. Ji turi sudėtingesnę duomenų struktūrą.
2. Perdangos operacijas sunku įgyvendinti.
3. Didelio erdvinio kintamumo vaizdavimas yra neefektyvus.
4. Negalima veiksmingai atlikti skaitmeninių vaizdų manipuliavimo ir tobulinimo.
5. Duomenų fiksavimas gali būti labai lėtas.
6. Ploto ar daugiakampio analizė yra sunki.
7. Paprastai tai yra brangesnė duomenų struktūra duomenų surinkimo ir programinės įrangos pirkimo požiūriu.

Šią diskusiją apie erdvinių duomenų struktūrą turėtume baigti paminėdami trečiąjį aspektą. Norint sukurti struktūrizuotą duomenų bazę, kurioje yra & ldquoaltitude & rdquo, arba jūrinėms reikmėms & ldquodepth & rdquo, naudojami trikampiai nereguliarūs tinklai (TIN). Jie susideda iš daugybės nepersidengiančių daugiakampių, kurių kiekvienas apibrėžia plokščią paviršių, kuris visiškai dengia topografinį paviršių (4.10 pav.). Kiekviena trikampio viršūnė yra užkoduota pagal jos vietą ir su ja yra susietas aukštis. Atsižvelgiant į šią informaciją, TIN galima atkurti kaip skaitmeninį pakėlimo modelį 2.5-D, kurio išsami skiriamoji geba priklauso nuo pradinio TIN tikslumo. Norint modeliuoti apimtis struktūriniu būdu, reikalinga geografinių nuorodų sistema, koduojanti x, y ir z ašis. Vienas iš būdų tai padaryti yra išplėsti rastrinės koncepcijos naudojimą korinio pikselių masyvo, kad būtų modeliuojamas pridėtas matmuo, t. Y. 2-D kvadratas tampa 3-D kubu. Šie kubeliai buvo vadinami vokseliais (tūrio elementais). Geografinės nuorodos ir atributai gali būti priskirti kaip ir rastrinių duomenų struktūroje. Gargantini (1989) aprašo darbą, kurį atlieka & ldquooctrees & rdquo, t. Y. Kadangi keturkampiai yra pikselių duomenų suspaudimo būdas, tai yra vokseliuose esančių duomenų struktūrizavimo būdai. Akivaizdu, kad vokselių naudojimas ilgainiui bus labai svarbus daugelyje jūrų žvejybos GIS darbų, tačiau iki šiol jie dažniausiai buvo naudojami geologinėje GIS srityje.


Metodai

Po institucinės peržiūros tarybos patvirtinimo, klinikiniai duomenys apie TEM išvadas, operacinę informaciją ir klinikinių rezultatų duomenis buvo gauti retrospektyviai peržiūrėjus 144 pacientus, kuriems buvo atlikta TEM Baystate medicinos centre Springfilde, Masačusetso valstijoje, JAV, nuo 1993 m. Lapkričio iki 2004 m. Spalio mėn.

GIS pirmą kartą buvo sukurtas tiesiosios žarnos topologijos žemėlapis, išryškinantis esamas anatomines ypatybes. Operacinėje chirurgas užfiksavo kiekvieno endoskopiškai aptikto pažeidimo vietą pagal laikrodžio rodyklės padėtį (išverstą į radialinius laipsnius nuo 0–360) ir atstumą (cm) nuo dantytos linijos, perėjimo zonos tarp išangės ir tiesiosios žarnos. Toliau aprašome, kaip pažeidimo tipas ir tiesiosios žarnos topologija buvo pateikti dviem ir trimis geografinės informacijos sistemos (GIS) aspektais. Naudojant cilindrinę koordinačių sistemą, duomenys buvo konvertuojami iš dviejų į tris matmenis, naudojant „ArcGIS“ [9].

Dvimatis (2D) atvaizdavimas

1 paveiksle parodytas siūlomos tiesiosios žarnos anatomijos schemos eskizas. Tiesioji žarna pavaizduota dviem matmenimis, naudojant cilindrinę projekciją: cilindras suskaidytas išilgai ir paskleidžiamas ant lygaus paviršiaus. Anatominės savybės ar pažeidimai tiesiosios žarnos sienelėje x ašyje pavaizduoti keturiomis skirtingomis skalėmis: radialiniais laipsniais, centimetrais, laikrodžio rodyklės padėtimi ir kvadrantu. Radialiniai laipsniai buvo paversti centimetrais, naudojant paprastą trigonometrinę funkciją, atsižvelgiant į taikymo srities skersmenį (tai išsamiai aprašyta 1 priedėlyje). Atstumas išilgai rektosigmoidinės storosios žarnos nuo dantytos linijos y ašyje buvo nubrėžtas centimetrais.

Tiesiosios žarnos anatominių regionų eskizas. X ašies padėtis ant tiesiosios žarnos sienos keturiose skirtingose ​​skalėse: radialiniai laipsniai, laikrodžio rodyklės padėtis, kvadrantas ir radianai. Y ašis rodo atstumą nuo dantytos linijos centimetrais. Atkreipkite dėmesį, kad pilvaplėvės atspindžio ypatybės ribą vaizduoja sinusinė banga, o kitų bendrų bruožų ribas ir rektoskopo ribą vaizduoja tiesios linijos.

2 paveiksle pavaizduotas 1 paveikslo eskizas, išverstas į tiesiosios žarnos topologijos žemėlapį GIS, paryškinant kliniškai svarbias anatomines savybes. Žemėlapis buvo apibrėžtas atskiromis lygtimis ir ribomis, leidžiančiomis supaprastinti gana sudėtingą žmogaus organą, išlaikant naudingumą, nes jis sugebėjo logiškai ir kategoriškai skirstyti kintamuosius pagal kontekstinius ryšius.

Ribojančios koordinatės ir daugiakampiai anatominiams regionams. Atstumas ir padėtis tiesiosios žarnos sienoje buvo įvesti į GIS ir nubrėžti kaip taškai dvimatėje plokštumoje. X ašis žymi padėtį tiesiosios žarnos sienelėje, matuojama radialiniais laipsniais, centimetrais, laikrodžio rodyklės padėtimi arba kvadrantu. Y ašis yra atstumas nuo dantytos linijos, matuojamas centimetrais. Tada daugiakampiai buvo sukurti skaitmeninant iš ribojančių koordinačių.

Norėdami sukurti žemėlapį, tiesioji žarna buvo padalinta į regionus (daugiakampius), kurie horizontaliai ribojasi su anatominių orientyrų ribomis, o vertikaliai - su kryptiniais kvadrantais (1 pav.). Šių regionų ribojančių koordinačių padėtis ant tiesiosios žarnos sienos ir atstumas nuo dantytos linijos buvo įrašytos į GIS atributų lentelę ir nubrėžtos kaip taškai (2 paveikslo duomenys pateikti 1 priedėlyje). Pilvaplėvės atspindys (įstrižai išdėstyta riba tarp pilvo ertmės ir dubens) buvo pavaizduota kaip sinusinė banga, o y reikšmės apskaičiuotos kaip padėties tiesiosios žarnos sienoje funkcija. Vėliau daugiakampiai buvo sukurti skaitmeninant šiuos taškus (2 pav.).

TEM aptikti pažeidimai buvo pateikti kaip taškai GIS, paverčiant jų atstumą ir laikrodžio rodyklės padėtį į x ir y reikšmes. Kiekvieno pažeidimo požymių duomenis sudarė patologinės charakteristikos (pažeidimo dydis, histologija, teigiamos ribos pašalinimo metu, ar pažeidimas buvo pasikartojantis) ir procedūrinių nesėkmių atsiradimas, kuris buvo apibrėžtas kaip pilvaplėvės pažeidimas arba perėjimas prie atviros operacijos. Naudojant tašką daugiakampyje, kiekvienos anatominės srities pavadinimas buvo pritvirtintas prie pažeidimų (taškų). Tada pažeidimų požymių duomenys buvo sujungti į regionus, kad būtų galima apskaičiuoti įvairių pažeidimų požymių suvestinę normą ar vertę kiekvienam regionui ir vizualizuoti naudojant choropletų žemėlapį.

Dvimatė (2D) vizualizacija ir statistinė analizė

Vizualizacija ir tiriamoji erdvinė analizė

Iš pradžių taškų žemėlapis buvo naudojamas pažeidimo vietai rodyti kaip taškai. Choropleto kartografavimas buvo naudojamas apibendrinant įvairias anatominės srities (daugiakampių) patologines charakteristikas ir procedūrinių nesėkmių rodiklius. Žemėlapiai buvo vizualiai patikrinti, siekiant nustatyti modelius ir suformuoti hipotezes apie regiono charakteristikų ir procedūrinių nesėkmių ryšį, kurie turėjo būti išbandyti naudojant matematinį modeliavimą. Anatominių regionų (daugiakampių) gedimų dažnio erdvinė autokoreliacija (grupavimas) buvo išbandyta naudojant Morano I statistiką [11].

Matematinis modeliavimas

Klinikinių ir lokalinių veiksnių, lemiančių procedūrinį nesėkmę, modeliavimui buvo naudojama įprasta mažiausių kvadratų regresija. Regresijos analizės vienetas buvo anatominis regionas. Kiekvieno regiono nesėkmių rodiklis buvo priklausomas kintamasis. Vizualiai apžiūrėjus Choropleth regioninį gedimų žemėlapį ir palyginus su kitų regioninių patologinių charakteristikų choropleth žemėlapiais (pvz., Vidutinis pažeidimo dydis arba pažeidimų procentas su teigiamomis ribomis), buvo pasiūlyti nepriklausomi regresijos kintamieji.

Tada regresijos liekanoms buvo pritaikyta visuotinė Morano I statistika [10], siekiant patikrinti erdvinę autokoreliaciją (grupavimą). Reikšminga šios statistikos išvada patvirtina, kad duomenyse yra erdvinių variacijų, kurios nepaaiškinamos regresijos modeliu, ir rodo, ar yra tinkama modelį pritaikyti prie erdvinės priklausomybės. Erdvinė regresija modeliuoja didelio masto priklausomo kintamojo svyravimus dėl regionų ir kitų bendrųjų kintamųjų erdvinės padėties ir nedidelius svyravimus dėl sąveikos su kaimynais. Šioje analizėje buvo naudojama apibendrinta mažiausių kvadratų regresija su pirmosios eilės (bokšto) kaimynystės gretimumo matrica ir sąlygine autoregresine erdvinio kovariacijos struktūra [11]. Visoms analizėms buvo naudojamas „S-Plus“ plėtinys, skirtas „ArcView GIS“ [12].

Trimatis (3D) atvaizdavimas

Trimis matmenimis tiesioji žarna buvo pavaizduota kaip cilindras, o anatominės sritys - kaip cilindro pertvaros. Kiekvienos skaidinio ribojančios cilindrinės koordinatės, išvestos 2D (θ, d), naudojant trigonometrines funkcijas buvo paverstos stačiakampėmis koordinatėmis (xyz) (1 priedėlis). Neigiamas atstumas nuo dantytos linijos (y koordinatė 2D) buvo z faktorius. Rezultatas tapo skirtingų aukščių persidengiančių taškų serija (z reikšmės 0, 2, 13, 18 ir 26 cm) apskritimo būdu.

Tada linijų ypatybių klasė buvo sukurta sujungiant taškų rinkinius kas 5 laipsnius aplink apskritimą. Linijos segmentai buvo priskirti skirtingoms pertvaroms, atstovaujančioms anatominius regionus pagal radialinius laipsnius. Atstumas buvo priskirtas kaip z reikšmė linijos segmentams, o linijos ypatybės ištirpintos regiono pavadinime. Vėliau duomenys buvo rodomi „ArcScene“ [9], naudojant kiekvieno regiono pagrindą kaip pagrindo aukštį, o z reikšmę arba atstumą nuo dantytos linijos kaip ekstruzijos koeficientą. Tada 3D pažeidimų žemėlapis buvo padengtas, o visas žemėlapis buvo animuotas naudojant „ArcScene“.


Taško ar viršūnės sukūrimas tiksliai x, y vietoje (absoliutus x, y)

Absoliutus X, Y leidžia sukurti tašką ar viršūnę naudojant tikslią x, y vietą. Pavyzdžiui, galite naudoti absoliučius x, y, kad sukurtumėte paukščių lizdą gyvūnų buveinių duomenų bazėje su x, y koordinatėmis, gautomis iš pasaulinės padėties nustatymo sistemos (GPS) vieneto.

Vietą galite nurodyti kaip ilgumos ir platumos koordinačių porą, karinio tinklelio atskaitos sistemos (MGRS) vietą, JAV nacionalinio tinklelio (USNG) vietą arba universalią skersinę Mercator (UTM) koordinatę. Jei įvedate koordinačių porą, dialogo lange matote du langelius, palyginti su vienu langeliu tinklelio vietose.

Norėdami gauti daugiau informacijos apie galiojančius formatus įvedant vietoves, žr. Apie atstumo vienetus ir redagavimą.

Norėdami sukurti taškinę funkciją

Spustelėkite taškų ypatybių šabloną lange Sukurti funkcijas ir spustelėkite įrankį Taškas .

Norėdami sukurti viršūnę tiesėje

Spustelėkite linijos ypatybių šabloną lange Sukurti funkcijas ir spustelėkite įrankį Linija .

Norėdami sukurti viršūnę daugiakampyje

Lange Sukurti funkcijas spustelėkite daugiakampio ypatybių šabloną ir spustelėkite įrankį Daugiakampis .


Diskusija

2 lentelėje pateikti rezultatai patvirtina faktą, kad esant dideliems grafikams, trumpiausio kelio paieškos trukmė naudojant siūlomą metodą būtų mažesnė nei vykdymo trukmė, gauta naudojant klasikinius metodus.

Jei redukcijos procese gauname grafiką G = (V r, E r), kad n 1 = | Vr | = n, abiejų algoritmų (Dijkstra ir MDijkstra) laiko sudėtingumas turi būti panašus. Tačiau kaip nepraktiška šiuo tikslu gauti optimalią euristiką, galime teigti, kad pasiūlymas gauna atsakymą per trumpesnį laiką nei Dijkstra ir A* algoritmas, jei sąlyga n 1 = | V r | ≤ n patenkintas. Taigi, jei darysime prielaidą, kad turime pakankamai atminties sumažintiems grafikams saugoti, siūlomas metodas yra geresnis nei „Dijkstra“ ir A* algoritmai, atsižvelgiant į tai, kad jei sumažinsime originalų grafiką, kaip buvo pasiūlyta anksčiau, visada galime gauti atsakymą per trumpesnį vykdymo laiką. The proposal is not useful when the available memory is low and does not permit to store reduced graphs.

In the case of the run time of Algorithm 3 (MDijkstra) on the graph G r 1.2, the obtained time is higher than the one obtained by A* algorithm. The reason of this result is that the graph G r 1.2 has a number of vertices considerably higher than the square root of the number of vertices of G 1. Notice that we state that the number of vertices of the reduced graph must be less than or equal to the square root of the number of vertices of the original graph. In the case of the graph G r 2.2 a lower run time than the one obtained by A* algorithm is achieved, although the number of vertices is higher than the square root of the number of vertices of G 2.

The selection of origin and destination of the shortest path search in a GIS is usually made using a map, i.e. a user selects these points by clicking in the map shown by the GIS. We believe that, at any time that a user selects an origin or a destination point, the GIS can make an expansion of the reduced graph, using the extent of the map that is visualized and the selected point. If a system for shortest path search is implemented in this way, the time needed to expand a reduced vertex would be irrelevant for the shortest path search, considering that the temporal complexity of expanding a reduced vertex is O(a), kur a=m a x<|A i|, A iP>.

Most algorithms developed lately for shortest path search make efficiency improvement by reducing the search space, these approaches cause loss in accuracy. The presented approach makes use of a graph reduction algorithm without loss of information, in order to obtain a better run time of the search. This approach maintains the accuracy because the reduction algorithm guarantees no loss of data (see Table 1).

Generally, heuristic algorithms are developed in order to reduce the run time of a specific algorithm, which solves some problems whose optimal solution involves a high computational cost. Many heuristic algorithms are developed for shortest path search in GIS, with the assumption that a low bound of error is admissible in this area. However, with the proposed approach, it is possible to obtain the optimal path in a similar time, and even in less time, than with heuristic algorithms, as shown in Table 2.


Reporting Services Map Control

Map visualizations use a layer concept. The background or base map (for example, the map of the world) is overlaid with one or more layers of spatial information and database information. Spatial information might consist of sets of polygons like your sales territories, linestrings like roads or rivers, or points like store locations. One of the most common types of map for analyzing business data is a choropleth, a thematic map in which areas are shaded in proportion to the statistical variable you’d like to analyze. For example, a choropleth map showing sales by state in the United States might look like the screenshot in figūra 1. Add a second layer that shows the location of your stores, and you have another layer of analysis available.


Figure 1** Choropleth Map of Sales in the U.S. by State**

As a report programmer, you can access SQL Server 2008 R2 Map Control through either Report Builder 3.0 or a Reporting Services project in Business Intelligence Development Studio (BIDS). The Map appears as one of the choices on the main Report Builder template. In a BIDS project, you add a Map Control to a report by dragging it from the toolbox. Either way, the map wizard walks you through the basics.

First, you choose your base map using the New Map Layer dialog. The base map can come from the built-in Map Gallery, an ESRI shapefile (a standard data format for representing geospatial data), or a SQL Server spatial query. This is shown in 2 pav.


Figure 2 ** New Map Layer Dialog in SSRS 2008 R2**

If you choose a SQL Server spatial query, you’ll obtain map data from a spatial column in a SQL Server table. The wizard walks you through creating a Data Connection when you are creating a query with the Query Designer. Your query must contain at least one column of data type geometry or geography or you’ll get an error. The next dialog, Choose Spatial Data and Map View options, allows you to choose a spatial field (in case your query includes multiple spatial fields) and a Layer Type as shown in 3 pav. Ordinarily, a spatial column in a table will contain all points, all linestrings or all polygons, and the Map wizard looks at the data and returns the kind of layer type that corresponds. You can change the layer type however, if you choose a field that contains all polygons (or multipolygons) but select Layer Type: Point, no map data will appear in the preview pane. One nice feature is the option to include a Bing Maps background, so if you have point data, you can use Bing Maps tiles as the base map background for your map control. With Bing Maps tiles as a background, you can choose Street Map, Aerial, or Hybrid view. If you choose Bing Maps, your spatial data will be layered on top of the Bing Map base layer.


Figure 3** Choose Spatial Data and Map Options**

Once you have set your base layer or layers, you’re presented with a set of map type choices, which vary depending whether your spatial data consists of points, linestrings or polygons. For example, if your layer contains polygons, you can choose between Basic Map (just the spatial data you’ve selected), Color Analytical Map (the choropleth maps mentioned earlier where the color of each polygon is based on an analytic variable), or Bubble Map (where a symbol in the center of each area is sized proportionally by an analytic variable). Linestring data gives you a choice of Basic Line Map or Analytical Line Map. Point data gives you a choice of Basic Marker Map, Analytical Marker Map or Bubble Map. The choropleth map in figūra 1 is a Color Analytical Map produced by the wizard.

Choosing a color analytical or bubble map leads to a panel that lets you select the data column to analyze. This data may be in the same dataset as your spatial data or in a different dataset with a related field. For example, you might have a table that contains state information and another table that contains SalesTotals for each state. Although the map shape data can only come from shapefiles, map gallery or SQL Server spatial tables, the analytic data can come from any data source, including SQL Server Analysis Services.

After you’ve chosen your analytic data source, if needed, the final panel allows you to choose common visualization aspects, such as the size of bubbles in a bubble map or polygon colors, to visualize data. You can also choose whether your layers’ labels will appear. For example, if your map consists of polygons that represent shapes of states, the label might be the name of the state. Bear in mind that labels only appear in polygons where the polygon is large enough to hold the text.

Of course, as with wizard-based development in general, the wizard only scratches the surface of what you can do. The Map portion of the control is contained within a Viewport, which is a separate control that enforces the boundaries of the map on the report page. The map control properties are divided roughly into Viewport Properties, Map Properties and Layer Properties. You can change the properties using either the context menus or a more detailed view provided in the Properties Windows. The set of properties that you see in the corresponding Properties Window depend on which part of the Map Control has the focus.

The Map Projection is specified in the Viewport’s properties. Your choices depend on the spatial column type you’re using in the layer, and it’s important to realize how your data and SRID (spatial reference ID) affects your choice. To start with the simplest case, suppose you’d like a map of the layout of your company’s warehouse (a physical warehouse where goods are stored, not a data warehouse). You’d likely measure the warehouse, draw a floor plan, and map the placement of the goods based on their location in the floor plan. In this case, the distance being mapped is so small that the fact that the Earth is round rather than flat does not matter. You’re measuring in terms of a geometric coordinate system (X and Y coordinates) and SQL Server’s geometry data type. In this case, you set the Viewport’s Coordinate System property to Planar.

The more common case is that you’re plotting positions on the Earth in terms of latitude and longitude. Your map data contains latitude and longitude, so you’re probably using the geography data type. To produce a flat map from the earth (which is technically an oblate spheroid), the map control provides a set of map projections. To use the map projections appropriately, your geography data type column should be using SRID 4326, 4269 or one of the other common Earth-related SRIDs that the map control is expecting. In this case, you set the Viewport’s Coordinate System property to Geographic and choose a map projection as the Viewport’s Projection property list.

The last case is when your data is using a projected coordinate system. In this scenario, you’re using SQL Server’s geometry data type, not geography. The map control will do nothing to project the data, because the projection information is already part of the data type itself. Common SRIDs for the projected coordinate system include the State Plane data projection or the British National Grid. In this case, you set the Viewport’s Coordinate System property to Planar.

The reason I mention all this is that, except for projecting geography coordinates (which are assumed to be 4326 - WGS84 coordinates), the map control will not automatically reproject between different coordinate systems. For example, you can’t mix a Bing Maps Tile Layer (geographic) with a British National Grid Layer (planar) on the same map. The result wouldn’t be pretty.

The big win with the Reporting Services 2008 R2 Map Control is that the SQL Server spatial data is automatically visualizable in a variety of map formats. Correlations between the business data and spatial data are easy to accomplish with the wizard, and all the additional power you need is available with a host of customizations through properties. One of my favorite (nonspatial) features of the map control is the ability to enable drilldown through the normal “Action” mechanism in SQL Server Reporting Services. Simply select the Action tab in the Map Properties dialog and you can link together reports that contain maps that show Sales by Country on a World map, then drill down to State or Region, then to City. At the City level, you could add a point layer with the location of your stores. For additional information about preparing and using spatial data with the SQL Server 2008 R2 Reporting Services map control, see Ed Katibah’s excellent blog series starting at blogs.msdn.com/edkatibah/archive/2009/05/09/cartographic-adjustment-of-spatial-data-for-sql-server-reporting-services-part-1.aspx.


Geometry & 3D

Distance and Measurement

It is especially useful to have small, focused libraries that perform distance measurement, and conversion operations, such as finding the area of a geo-fence or converting miles to kilometers. The following libraries work with GeoJSON formatted objects representing geographic space.

  • Geolib provides distance (and estimated time) calculations between two latitude-latitude coordinates. A handy feature of Geolib is order by distance, which sorts a list or array by distance. The library also supports elevation.
  • Turf.js, which is described in the next section, also provides a distance function to calculate the great-circle distance between two points. Additionally, Turf.js calculates area, distance along a path, and the midpoint between points.
  • Sylvester is a library for geometry, vector, and matrix math in JavaScript. This library is helpful when basic measurement of lines and planes is not enough.

While the above libraries work well for 2D projections of geography, three-dimensional GIS is an exciting and expansive field—which is natural because we live 3D space. Fortunately, WebGL and the HTML5 canvas have also opened up new 3D techniques for web developers.

  • Three.js is a JavaScript library for geometric and mesh objects. The Three GeoJSON extension to Three.js provides a simple way to render GeoJSON objects on 3D planes and spheres.
  • The OSM Buildings project allows the map designer to represent buildings as 3D objects on a 2D map. The project uses OpenLayers and Leaflet. This can be used to great effect, for example Tom Holderness used OSM Buildings to map London.

Here’s an example of how to display GeoJSON Features on a 3D object:

You can also check out Byron Houwen’s article on WebGL and JavaScript, which shows how to create a terrain map of earth with Three.js


Įvairūs

Geografinis apdorojimas

The following plugins perform several sorts of geoprocessing (mathematical and topological operations on points, lines and polygons).

PluginapibūdinimasMaintainer
Proj4Leaflet Proj4js integration plugin, allowing you to use all kinds of weird projections in Leaflet. Kartena
arc.js A JS library for drawing great circle routes that can be used with Leaflet. Dane Springmeyer
Leaflet-pip Simple point in polygon calculation using point-in-polygon. Tom MacWright
Leaflet.GeometryUtil A collection of utilities for Leaflet geometries (linear referencing, etc.) Benjamin Becquet, Mathieu Leplatre
Greiner-Hormann Greiner-Hormann algorithm for polygon clipping and binary operations, adapted for use with Leaflet. Alexander Milevski
Leaflet.buffer Enables buffering of shapes drawn with Leaflet.draw. Jonathan Skeate
Leaflet.LayerIndex An efficient spatial index for features and layers, using RTree.js. Mathieu Leplatre
leaflet-spatial-prefix-tree Leaflet plugin for visualizing spatial prefix trees, quadtree and geohash. See demo Mapzen
Leaflet.UTM A simple way to convert L.LatLng into UTM (WGS84) and vice versa. UTM string format easily configurable. It does not depend on any other plugin or 3rd party. See demo Javier Jimenez Shaw
Leaflet.Antimeridian A plugin to allow polygons and polylines to naturally draw across the Antimeridian (or the Internation Date Line) instead of always wrapping across the Greenwich meridian. (Demo) Brianna Landon

Maršrutizavimas

The following plugins use external services to calculate driving or walking routes.

PluginapibūdinimasMaintainer
Leaflet Routing Machine Control for route search with via points, displaying itinerary and alternative routes. Uses OSRM by default, but also supports GraphHopper, Mapbox Directions API and more. Per Liedman
Leaflet.Routing Leaflet controller and interface for routing paths between waypoints using any user provided routing service. Norwegian Trekking Association
Route360° Route360° visualizes the area which is reachable from a set of starting points in a given time and gives detailed routing information (walk, bike, car and public transportation) to targets. Motion Intelligence GmbH
Leaflet RouteBoxer This is a Leaflet implementation of the RouteBoxer Class from Google. The Leaflet RouteBoxer class generates a set of L.LatLngBounds objects that are guaranteed to cover every point within a specified distance of a path. Nearest!
Leaflet.Routing.Amap Control for route search using AMap(高德地图) as a backend. Supports the Chinese BD09 and GCJ02 coordinate systems, colourful lines, and turn-by-turn popups. Jack Good
Leaflet TripGo routing The TripGo mobility platform lets you create apps providing seamless and personalised door-to-door trips using any public, private or commercial mode of transport. TripGo Leaflet's plugin motivation is to provide an easy way to include its functionality in an external platform. SkedGo
leaflet.TravelNotes Editable markers and routing engine for leaflet. The routing engine have plugins for Mapbox, GraphHopper and OSRM and can be used for car, bike or pedestrian route. Demo. Christian Guyette
Leaflet.Reachability Show areas of reachability based on time or distance for different modes of travel using the openrouteservice isochrones API. Trafford Data Lab

Geokodavimas

External services that transform an address or the name of a place into latitude and longitude (or vice versa).

</tr>
PluginapibūdinimasMaintainer
Leaflet GeoSearch Small geocoding plugin that brings address searching/lookup (aka geosearching) to Leaflet.
Comes with support for Google, OpenStreetMap Nominatim, Bing, Esri and Nokia. Easily extensible.
Stephan Meijer
Leaflet Control OSM Geocoder A simple geocoder that uses OpenstreetMap Nominatim to locate places by address. Karsten Hinz
Leaflet Control Bing Geocoder A simple geocoder control that uses Bing to locate places. Samuel Piquet
Leaflet Control Geocoder A clean and extensible control for both geocoding and reverse geocoding. Builtin support for Nominatim, Bing, MapQuest, Mapbox, What3Words, Google and Photon. Easy to extend to other providers. Per Liedman
Leaflet GeoIP Locator A simple plugin that allows finding the approximate location of IP addresses and map centering on said location. Jakub Dostal
Esri Leaflet Geocoder A geocoding control with suggestions powered by the ArcGIS Online geocoder. Patrick Arlt
Leaflet.OpenCage.Search A search plugin plugin that uses OpenCage Data's geocoding API. The OpenCage team
Leaflet.Geonames A lightweight geocoding control powered by GeoNames. Demo Brendan Ward
Pelias Leaflet Plugin A geocoding control using Geocode Earth or any hosted service powered by the Pelias Geocoder API. Demo Lou Huang
Leaflet LocationIQ Geocoder A plugin that adds the ability to search (geocode) a Leaflet-powered map using LocationIQ. LocationIQ
L.Highlight A plugin that adds the ability to quick highlighting streets and areas using Nominatim. Maciej Kowalski

Plugin collections

Sets of plugins that span several categories.

Plugin developers: please keep future plugins in individual repositories.

PluginapibūdinimasMaintainer
Plugins by Pavel Shramov A set of plugins for: GPX, KML, TOPOJSON layers Bing tile layer Yandex layers (implemented with their APIs), and permalink control. Pavel Shramov, Bruno B
Spectrum4Leaflet Tools for using Spectrum Spatial Server services with leaflet. This plugin supports: map service, tile service, feature service. It has layers, legend and feature controls. SVoyt, ESTI MAP
MapBBCode-related leaflet plugins Seven plugins for various features, independent of the MapBBCode library. From circular and popup icons to buttons, layer switcher, better search and attribution. Ilya Zverev


Spatial Data Concepts and Issues

Please be patient! This page takes about 4 minutes to download over a 56.6K modem (10 seconds over T1), but is worth waiting for it.

Erdvinė informacija

Spatial information is information in 2, 3 or 4 dimensions. It is information where vietą has some importance or benefit and is not necessarily about locations on the surface of the Earth (e.g., can be a body organ or system).

"Spatial" has to do with any multi-dimensional frame, e.g.


A location can be a body organ or system. Screenshot of BodyViewer, an
ArcView extension developed by GeoHealth, Inc. BodyViewer allows users
to map any database that contains a geographic reference (e.g., postal
codes, street addresses, census tract numbers) and an ICD-9 or ICD-10
code (diagnoses).

Geographic information is a subset of spatial information, though the terms are often used interchangeably. "Geographic" is concerned with planet Earth: its two-dimensional surface, its three-dimensional atmosphere, oceans, and sub-surface. (Bryan, 2000)

Estimates are that 80% of all data has a spatial component. This data can be queried and analysed to answer questions such as "How many (e.g., healthcare facilities, patients with a specific profile, etc.)?" "What kind/type (e.g., type of healthcare facility: GP surgery, district hospital, teaching hospital, specialised centre, etc.)?" "Where are they located (e.g., relationships between populations, their locations and available/planned healthcare facilities)?" ( Taip pat žiūrėkite: 'Spatial Analysis'.)

Geographically referenced data refers to data referenced by location on Earth (e.g., latitude/longitude, northing/easting) in some standard format.

Geographic References and Geocoding

Geographic information contains either an explicit geographic reference, such as a latitude and longitude or national grid co-ordinate, or an implicit reference such as an address, postal code, census tract name, forest stand identifier, or road name. An automated process called geocoding is used to create explicit geographic references (multiple locations) from implicit references (descriptions such as addresses). These geographic references allow us to locate features, such as a business or forest stand, and events, such as an earthquake or disease outbreak, on the earth's surface for analysis.

Geographic information systems rely on two interrelated types of databases:

The Spatial Database

Describes the location and shape of geographic features, and their spatial relationship to other features. The information contained in the spatial database is held in the form of digital co-ordinates, which describe the spatial features. These can be points (for example, hospitals), lines (for example, roads), or polygons (for example, administrative districts). Normally, the different sets of data will be held as separate layers, which can be combined in a number of different ways for analysis or map production.

The Attribute Database

The attribute database is of a more conventional type it contains data describing characteristics or qualities of the spatial features (i.e., descriptive information): land use, type of soil, distance from the regional centre, or, using the same examples as in the preceding paragraph, number of beds in the hospital, type of road, population of the administrative districts. Thus, we could have health districts (polygons) and health care centres (points) in the spatial database, and characteristics of these features in the attribute database, for instance persons having access to clean water, number of births, number of 1 year old children fully immunised, number of health personnel, and so on. (Loslier, 1995 in GIS for Health and the Environment)

GIS links spatial data with geographic information about a particular feature on a map. The information is stored as attributes of the graphically represented feature.


Example: A line that denotes a road tells you nothing but its location. An attribute table stores all relevant (descriptive) information about this feature, which can be queried and displayed in many formats based on the user s needs.

Points, Lines and Polygons

As mentioned above, GIS attempts to describe all features in geometric terms.

Many features can be described by either a point or a polygon. Similarly, lines can be of a specific width. Žemėlapio skalė ir rezoliucija define the conditions for appropriate application of these feature types. The uses of co-ordinate based analysis are only limited by the imagination of the user.

Vector and Raster GIS

There are two major methods to input, store and visualise mapped data in GIS. Geographic Information Systems which store map features in vector format store points, lines and polygons with high accuracy. They are preferred in urban applications where legal boundaries and the analysis of networks are important. Applications of urban GIS include location and allocation of critical resources such as hospitals, study of disease outbreak patterns and crime analysis.

Raster Geographic Information Systems, which store map features in raster or grid format, generalise the location of features to a regular matrix of cells. Raster GIS data structures are preferred for digital elevation modelling (DEM records terrain elevations for ground positions at regularly spaced horizontal intervals - see USA photo below), statistical analysis, remotely sensed data, simulation modelling, and natural resource applications like sedimentation and water quality studies.

In raster-based analysis, the areas of analysis are divided into squares of uniform size (cells). Each cell characterises the feature of interest within this area with a single value. Digital image data, including aerial photos and satellite imagery, are stored in raster format (as pixels). GRID cell-based modelling uses the raster format to determine routing patterns and terrain.


An aerial photo


A digital elevation model (DEM) of the USA

Vector data on the other hand, are coordinate-based data structures commonly used to represent linear features (polygons can be formed by closed strings of co-ordinates). Each feature in this format is represented as a list of ordered x,y co-ordinates.

Computer algorithms exist that can convert data of one type to the other.

Thematic Mapping

Maps in Geographic Information Systems are represented thematically. A standard topographic map will show roads, rivers, contour elevations, vegetation, human settlement patterns and other features on a single map sheet. In a GIS these features are categorised separately and stored in different map themes or overlays. For example, roads will be stored in a separate overlay. Likewise, rivers and streams will each be stored as a separate theme. This way of organising data in the GIS makes maps much more flexible to use since these themes can be combined in any manner that is useful (individual themes can be 'turned on' and 'off' as needed).

„Choropleth“ žemėlapiai

These are thematic maps portraying properties of a surface using area symbols such as shading. Area symbols on a choropleth map usually represent categorised classes of the mapped phenomenon, e.g., population density.


Examples of choropleth maps

Maps Defined

A map is a graphic representation of some part of the earth s surface. A map usually contains a series of themes or coverages that are often combined to form the final product. A map also contains descriptive information (e.g., legend) to help readers interpret the details on the map.

Žemėlapio mastelis

The map scale tells the user how the map relates to the real world features it represents.

The term map is also used to describe a GIS Project or View. A map can provide an interpretation of features on the earth s surface. Scale, map units and data layers (themes or coverages) are an inherent part of a GIS and allow users to conduct spatial queries and measure distances in their projects when needed.

Co-ordinate Systems

In a GIS, locations on the earth s surface described by points, lines, and polygons are defined by a series of x,y co-ordinates. Co-ordinate systems can be self-described or in units that relate to the real world. Decimal degrees degrees, minutes, seconds metres and feet are all examples of units of measure in a co-ordinate system.

A degree or is a unit of measurement equal to 1/360 of a circle. A degree of latitude on the earth's surface is about 69 miles. A degree of longitude is about 69 miles at the equator and undefined at the poles, but any point on the surface rotates through a degree of longitude in about 4 minutes of time. Minute or ' is the sixtieth part of a degree of angular measurement, often represented by the sign ' as in 12 30', read 12 degrees, 30 minutes. Arcsecond or " is the sixtieth part of a minute of angular measure often represented by the sign ", as in 30", which is read 30 seconds.

Decimal degrees are the decimal representation of fractions of degrees. Many paper maps express co-ordinates in degrees, minutes, seconds (e.g., 40 30'), where minutes and seconds are fractions of degrees. 30 minutes equal half a degree, and 30 seconds equal half a minute. GIS software, however, expresses coordinates in decimal degrees (e.g., 40.50 degrees), where fractions of degrees are expressed as decimals. Thus, the longitude: 40 degrees, 30 minutes, would be expressed in ArcView as 40.5 degrees.

x,y co-ordinates define the location of map features. Co-ordinate systems must be consistent between map layers. For any database to be useful for spatial analysis, the database must be registered to a recognised global co-ordinate system.

A co-ordinate system consists of:

  • A Spheroid: a mathematical description of the earth s shape.
  • A Map Projection: a mathematical conversion from spherical to planar co-ordinates.

Žemėlapio projekcijos

The accuracy of measurements, e.g., of distance, done on a map is affected by the type of map projection used to draw this map.

Rezoliucija

The accuracy with which a given map scale can depict the location and shape of map features is known as rezoliucija. Kuo didesnė žemėlapio skalė, tuo didesnė skiriamoji geba. As map scale decreases, resolution diminishes and feature boundaries must be smoothed, simplified, or not shown at all. Resolution plays a large role in GIS, especially in raster-based modelling.

Resolution plays a large part in the ability of a map to accurately describe the earth s features. It is essential that the user be mindful of the scale of the data layers. Serious errors can result if the theme lacks sufficient resolution to effectively describe an area of interest. A GIS does not tell its user that she has made an error in choosing the right data layer for her project.

Topology

Topology is a mathematical procedure for explicitly defining spatial relationships.

Connectivity: Arc-Node Topology

Area Definition: Polygon-Arc Topology

Polygons are represented as a series of x,y co-ordinates that connect to define an area. The GIS also stores the list of arcs that make up the polygon.

Every arc has a direction. The GIS maintains a list of polygons on the left and right side of each arc. The computer uses this information to determine which features are next to one another.

Getting Data into a GIS - Sources of Electronic Data Files

The Global Positioning System (GPS) can be also used in creating maps.

Electronic data files are the easiest way to get data into a GIS. Ready-to-use data sources include:

  • DXF: Auto-CAD files/Scanning products
  • DLG: Digital Line Graphs available from the USGS (US Geological Survey URI: http://www.usgs.gov/pubprod/index.html)
  • TIGER: 1990+ Census files (US, URI: http://tiger.census.gov/)
  • Ordnance Survey Maps: Britain's National Mapping Agency (URI: http://www.ordsvy.gov.uk)
  • SHP: ArcView Shape files (many available for download from Health Geomatics 'Resources' page)
  • Can also add point data using dBase file with x,y co-ordinates in decimal degrees.

Digitisers

A digitiser converts spatial features on a hard copy map into digital format. Point, line and area features are converted into x,y co-ordinates. The process involves manually tracing all features of interest using an electronic stylus. Good base maps must be used. After digitising, a procedure known as transformacija converts digitiser units to a real-world co-ordinate system. Tics are used to provide the relationship between the two co-ordinate systems.

Product: Coverage

This term is used in a GIS to describe a spatial dataset that has a particular theme . A coverage consists of topologically linked geographic features. For maximal analytical power, each theme should exist as a separate coverage different feature types can coexist in a coverage if they describe the same data.

Four Main Types of Maps/Data Exist:

Data Availability and Quality Issues

One potential problem with GIS is the availability and kokybės of data needed by such systems to use and analyse in order to produce meaningful results. The data provided may be inaccurate or incomplete or inappropriate for some particular use, e.g., not of the appropriate geographic scale needed in some situation (Albert et al, 2000). Sometimes, due to patient privacy and confidentiality issues, researchers do not have access to taškas patient data and census tract data (poligonas aggregated data) is all that is available.

Data is usually accompanied by descriptions (metaduomenys). Spatial data quality standards are now in place to help users understand what is out there and the intended purpose of the dataset.

Health Geomatics
2000-2002 MIM Centre, School of Informatics
City University, London, UK
Visos teisės saugomos.