OpenCellID
Kolesár András
kolesar.andras at gmail.com
2015. Nov. 5., Cs, 06:49:31 UTC
Szia!
Két oka is van az ismétlődő adatoknak. Közös bennük, hogy egy-a-többhöz
relációt próbálunk kilapítva ábrázolni helytakarékosan és mégis olvashatóan.
Az umts:PSC esetében egy az egyes cella-azonosítókhoz tartozó PSC értékeket
soroljuk fel, ezek tudnak azonosak lenni egy adott helyszínen, sőt
jellemzően háromszor ismétlődnek, ettől lesz a hálózat HSPA+.
Az lte:cellid azért tud azonos lenni, mert a "; " elválasztójel két oldalán
különböző szolgáltatók celláit látod. A sima ";" egy szolgáltató celláit
határolja, a pontosvessző-szóköz az egy helyen működő szolgáltatókat
választja el egymástól. Ez utóbbi jelölésmódot azért találtuk ki, hogy ne
kelljen szolgáltatónként címkézni mindent. Így is rengeteg címkét teszünk a
tornyokra, ez háromszorozódna, ha lte:cellid:21601=* formában szétbontanánk
szolgáltatókra.
Ha az objektumoknál lehetne relációkat vagy JSON-szerű hierarchiát
ábrázolni, akkor nyilván abban írnánk le.
Íme egy bázisállomás egy szolgáltatóval, két irányban, irányonként három
cellával:
http://cellavadasz.openstreetmap.hu/#map=14/47.4990/19.0564&id=3765523113
MCC=216
MNC=01
gsm:LAC=3112
gsm:cellid=9021;9022
lte:LAC=5121
lte:cellid=1;2
lte:eNB=902
umts:LAC=4121
umts:PSC=263;264;263;264;263;264
umts:RNC=412
umts:cellid=9021;9022;9026;9027;36996;36997
Ezt JSON szerkezetben az alábbit jelenti (csupa kisbetűs kulcsokkal és
numerikus értékekkel):
{
mcc: 216
mnc: 1,
gsm: {
lac: 3112,
cells: [
{ id: 9021 },
{ id: 9022 }
]
},
umts: {
lac: 4121,
rnc: 412,
cells: [
{ id: 9021, psc: 263 },
{ id: 9022, psc: 264 },
{ id: 9026, psc: 263 },
{ id: 9027, psc: 264 },
{ id: 36996, psc: 263 },
{ id: 36997, psc: 264 }
]
},
lte: {
lac: 5121,
enb: 902,
cells: [
{ id: 1 },
{ id: 2 }
]
}
}
Jogos kérdés lehet, hogy miért nem írtam az gsm és lte cellákat az alábbi
egyszerűbb formában, numerikus tömbként:
gsm: {
cells: [9021, 9022]
}
lte: {
cells: [1, 2]
}
Azért nem írtam így, mert a celláknak nem csak egyetlen tulajdonságuk van
(azonosító), hanem például a psc is (umts hálózatokban). Így ahány umts
cella van, annyi psc is.
Megjegyzések: Igazából az rnc is a cella tulajdonsága, de ez egy adott
helyszínen mindig állandó, ezért nem írjuk ki cellánként, hanem a
bázisállomás tulajdonságaként tekintjük. Mérünk még számos más értéket is a
cellákra, amelyeket egyelőre csak elvétve tüntettünk fel az OpenStreetMap
adatbázisában: bcch, bsic, ulch, dlch, valamint a példádban is említett
direction.
Írhattam volna az alábbi formában, a cellák számával megegyező elemszámú
tömbként a psc-t is JSON formátumban, de ez nem adja vissza jól a
struktúrát:
umts: {
cells: [9021, 9022, 9026, 9027, 36996, 36997]
psc: [263, 264, 263, 264, 263, 264]
}
Az OpenStreetMap kulcs=érték párosokban gondolkodó címkézési rendszerében
mégis az utóbbi formát választottuk, mert még mindig jobban olvasható,
mintha a struktúrát gyönyörűen visszaadó JSON valamilyen escape-elt vagy
base64-kódolt változatát tennénk oda.
Nemcsak emberi, hanem gépi értelmezésre is alkalmas a választott formátum.
A szerkesztésre használt API overpass lekérdezéssel olvassa az OSM adatokat
és szétszedi a fenti normalizált alakra, hogy aztán automatikusan
kiegészíthesse az újabb mérésekből érkezett rokon cellákkal, majd
visszaalakítja kulcs-érték párokká.
Elsőre bizonyára nehezen értelmezhető, különösen a több szolgáltatós
tornyok és a részben felmért adatokat tükröző fixme-k miatt. Remélem, hogy
a példa alapján tisztább lett a kép.
Üdv:
András
2015. november 4., szerda 22:14:22 UTC+1 időpontban kdano a következőt írta:
>
> Gyorskérdés az adatbázissal kapcsolatban (nem mélyedtem el nagyon abban,
> hogy pontosan mit is jelent az a rengeteg tag, amit ilyen tornyokra
> címkéztek):
> Az normális, hogy ugyanaz az érték pontosvesszővel elválasztva többször is
> szerepel?
> pl.
> "lte:cellid=1;2;3; 1;2;3; 0;1;2;11"
> "umts:PSC=48;44;222;46;47;48;44;45;46"
> "gsm:direction=70;180;180; fixme"
> "gsm:LAC=110; 110"
>
> mert én csak annyit értek ebből, hogy az osmose hülyét kap tőle :)
>
> kdano
>
--------- következő rész ---------
Egy csatolt HTML állomány át lett konvertálva...
URL: <http://lists.openstreetmap.org/pipermail/talk-hu/attachments/20151104/f4b68825/attachment.htm>
További információk a(z) Talk-hu levelezőlistáról