[Talk-lt] multipoligono zymejimas

Tomas Straupis tomasstraupis at gmail.com
Thu Dec 13 22:47:05 UTC 2012


Kaip Tomo Straupio atstovas spaudai pabandysiu paaiškinti su šiokia
tokia filosofine gaidele.

Matomiausia OSM dalis yra vizualus žemėlapis, kuris matomas nuėjus į
www.osm.org. Daug kas stengiasi pažymėti taip, kad būtent www.osm.org
vizualus rezultatas būtų „gražus“, pageidaujamas ir pan. Tai nėra
teisingas požiūris todėl, kas vienas pagrindinių OSM principų yra
„nežymėkite dėl vaizdo“ (čia labai laisvas vertimas principo „do not
tag for the renderer“). Taipogi reikia suprasti, kad OSM'as renka GIS
(geografinius) duomenis ir būtent jie yra didžiausia vertybė
(sugeneruotas vizualus paveiksliukas yra tiesiog vienas iš įmanomų ir
gan primityvių GIS duomenų panaudojimo rezultatų).

Būtent GIS duomenys yra svarbūs, nes jie leidžia daryti įvairius
skaičiavimus ar/ir analizes, ko negalima daryti su žemėlapio
piešinuku. Tuo OSM ir išsiskiria iš visų kitų žemėlapių. Tarkim turint
kokio nors Google Maps duomenis neįmanoma padaryti analizės, kokį
atstumą reikės važiuoti nuo mano namų iki artimiausio piliakalnio ir
kokia kelio dalis bus žvyrkelis, nes vektoriniai duomenys ir
metainformacija neprieinami.

Kai suprantame aukščiau pateiktą principą ir pradedame galvoti apie
OSM duomenis kaip apie GIS duomenis, tada galima suprasti ir kas per
duomenys yra multipoligonai (relation/ryšiai). Tarkime turime mišką,
kurio viduryje yra proskyna. Tarkim tas miškas yra kvadratas, kurio
kraštinės ilgis - 2km. Proskyna - irgi kvadratas, kurios kraštinės
ilgis - 1km. Taigi toks objektas OSM pažymėtas trimis objektais:
1. Išorinis poligonas (2x2 = 4km2)
2. Vidinis poligonas (1x1 = 1km2)
3. Ryšys, kuriame nurodyta, kad išorinis poligonas yra [1], vidinis - [2].

Koks yra miško plotas? 4km2? Ne, miško plotas yra ne išorinio poligono
plotas, o išorinio poligono plotas MINUS vidinio - proskynos -
poligono plotas. Taigi 4 - 1 = 3km2. Tokį objektą apibrėžia TIK ryšys,
nes tik jame nurodyta, kad miškas yra išorinis poligonas (outer) minus
vidinis (inner).

Va todėl miško žymos dedamos ryšiui, o ne išoriniam poligonui.

Kaip taikymo pavyzdį pabandykite įsivaizduoti užduotį paskaičiuoti,
koks yra Lietuvos miškų plotas. Ar bus įmanoma tiksliai paskaičiuoti,
jei landuse=forest bus pažymėta išoriniuose vektoriuose? Juk vidinis
multipoligono plotas gali žymėti ne plotą, o kokią kitą miško savybę,
t.y. ne visada reikia iš „išorinio“ poligono ploto atimti vidinio
poligono plotą.

P.S. Tas pats būtų, jei kalbėtume apie ežerą su sala viduje ir
skaičiuotume vandens/ežero plotą.

P.P.S. Dėl Potlatch visiškai sutinku su Ramūnu - potlač skirtas tik
labai primityviems žymėjimams. Iš praktikos: 99% duomenų sugadinimų
daroma Potlaču dėl to, kad jis yra labai prastas GIS duomenų
redaktorius. Taigi jei kas nori ne tik pridėti naują tašką kavinę ar
naują miško keliuką - daug kokybiškiau pažymės naudodamas kokybišką
žymėjimo programą (t.y. NE potlatch).

-- 
Tomas




More information about the Talk-lt mailing list