Cs:Jmenný prostor

From OpenStreetMap Wiki
Jump to navigation Jump to search

Jmenný prostor (namespace) je předpona, přípona nebo vpona klíče. Může být ve zvláštních případech použita, aby seskupovala blízce příbuzné klíče, nebo jako doplňkový kvalifikátor klíčů. Jmenné prostory v názvech klíčů se oddělují dvojtečkou (':'). Možné výhody zavedení klíčů se jmennými prostory je potřeba zvážit oproti jejich nevýhodám.

Seskupení blízce příbuzných klíčů do jmenných prostorů napomáhá oddělit tuto skupinu klíčů, pomáhá vyhnout se střetům v pojmenování klíčů a poskytuje danému klíči kontext vyšší úrovně.

Jmenné prostory jako kvalifikátory se používají, když atribut (jako třeba kód jazyka) je aplikovatelný na širokou množinu spolu nesouvisejících hlavních klíčů.

Technicky je s oběma koncepty zacházeno do značné míry stejně - název klíče obsahující oddělovač dvojtečku je stále jen řetězcem znaků jako jakýkoliv jiný klíč.

Uložení hodnoty způsobem podobným syntaxi jmenného prostoru tedy klíč:přípona=hodnota, kde přípona se rovná nějaké proměnné hodnotě a neslouží k účelu seskupování, neznamená, že je zde využit koncept jmenného prostoru. Jedná se jen o příponu oddělenou dvojtečkou.

Příklady použití jmenných prostorů

Viz také Namespace_tag_overview

Nomenklatura

Software této wiki také používá koncept jmenných prostorů, ale to nesouvisí se jmennými prostory OSM.

Zpracování jmenných prostorů

Na základní úrovni systému bude klíč se jmenným prostorem uložen a zpracováván zcela stejně jako jakýkoliv volný textový řetězec (řetězec, který prostě náhodou obsahuje dvojtečku).

Mnoho zpracovatelů dat OSM bude s klíčem takto zacházet. Aplikace zpracovávající data často hledají klíče, které je zajímají a nerozpoznané klíče jsou ignorovány. Což samozřejmě může být požadovaný efekt použití jmenného prostoru. Jmenné prostory mohou být použity k vydělení jistých typů specializovaných informací, "ukrývajíc" tato data za "hlavní" data mapy, aby bylo jasnější, že jsou zajímavá pouze pro specializované zpracovatele dat.

Přílišné použití

Použití jmenných prostorů je skvělým způsobem jak strukturovat datové schéma, ale někdy může způsobovat problémy některým zpracovatelům dat, kteří to nazývají přílišným použitím jmenných prostorů - over-namespacing.

  • jmenný prostor vztahující se k projektu; může vás to svádět k rozšíření klíče jmenným prostorem, jen abyste se vyhnuli konfliktům s jinými daty, namísto abyste se snažili integrovat existující schémata. Je to špatný přístup. OSM je databáze o mnoha schématech, což znamená, že každá značka se vztahuje k více než jednomu schématu, více než jednomu použití dat a tak je důležité integrovat je s jinými již používanými schématy, aby se maximalizovala správa dat.
  • přílišné používání jmenných prostorů vede k inkonzistencím v databázi: pokud máme projectfoobar:name=xxx a name=xxx, tak v mnoha případech jeden bude aktualizován a druhý nikoliv. Čím jednodušší a obecnější klíč je, tím více bude používán a tím bude aktuálnější.
  • přílišné používání jmenných prostorů vede k rozšiřování schématu dat: například někdo, kdo se zajímá o kanály VHF bude muset vyhledávat klíč harbour:VHF_channel, plus seamark:habour:VHF_channel, plus VHF_channel, plus lock:VHF_channel, plus vhf, aby shromáždil všechna data. Použití prostého klíče vhf by mělo úplně stačit a určení zda se tato data vztahují k přístavu nebo zdymadlu lze provést prozkoumáním označeného objektu OSM.

Momentálně nezobrazované na některých mapách

Nebojte se vylepšit vykreslování prvků jmenných prostorů ve 'standardním' mapovém stylu zobrazujícím se na hlavní stránce OpenStreetMap.org.