Changes between Version 9 and Version 10 of Ru:Help/Styles/MapCSSImplementation


Ignore:
Timestamp:
2018-04-04T14:59:16+02:00 (8 years ago)
Author:
ak099
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Ru:Help/Styles/MapCSSImplementation

    v9 v10  
    6262
    6363
    64 === Селектор типа ===
     64=== Селекторы типа ===
    6565
    6666{{{#!th align=left valign=top
     
    184184}}}
    185185
    186 === Селектор потомков ===
     186=== Селекторы потомков ===
    187187Если точка является частью линии, мы называем её ''потомком'' (child) этой линии. Аналогично, если точка, линия или отношение является участником отношения, то мы называем их ''потомками'' этого отношения.
    188188
     
    206206
    207207
    208 === Селектор родителей ===
     208=== Селекторы родителей ===
    209209В дополнение к селектору потомков, JOSM поддерживает '''селектор родителей'''. Обратите внимание, что селектор родителей — это специфичное для JOSM расширение MapCSS, не присуствующее в других реализациях MapCSS.
    210210
     
    222222}}}
    223223
    224 === Селектор условий ===
     224=== Селекторы условий ===
    225225Селекторы могут включать ряд условий. Если какое-то из этих условий не истинно, то селектор не соответствует объекту и правило стиля не применяется.
    226226
     
    491491}}}
    492492
    493 === Селектор территории ===
    494 
    495 Можно проверить, располагается объект внутри некоторой территории, или за её пределами. В JOSM есть встроенная база данных для этого. Файл территорий — это osm-файл, его можно скачать  [/export/HEAD/josm/trunk/data/boundaries.osm здесь] и открыть в JOSM для исследования [attachment:wiki:Help/Styles/MapCSSImplementation:boundaries.png (снимок экрана)]. Он содержит границы всех стран мира. Для повышения производительности границы упрощены. В особых случаях они могут быть уточнены по запросу. Территории "тегированы" их [https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 кодами ISO_3166-1_alpha-2]. Для США, Канада, Китай, Индия и Австралия имеются дополнительные границы их территориального деления. Смотрите следующие примеры, как использовать селекторы территории. Territory selectors are less useful in mappaint styles and can be very resource heavy there. However they are much more useful for [wiki:Help/Validator/MapCSSTagChecker mapcss based validator rules]. To select territories with left-hand-traffic or right-hand-traffic, there is a simpler way, see [#PseudoClasses]. See #10387 for main implementation of this feature.
    496 
    497 {{{
    498 #!mapcss
    499 node[inside("FR")]                    /* matches any node located inside of France (this includes all the overseas territories)                                     */
     493=== Селекторы территории ===
     494
     495Можно проверить, располагается объект внутри некоторой территории, или за её пределами. В JOSM есть встроенная база данных для этого. Файл территорий — это osm-файл, его можно скачать  [/export/HEAD/josm/trunk/data/boundaries.osm здесь] и открыть в JOSM для исследования [attachment:wiki:Help/Styles/MapCSSImplementation:boundaries.png (снимок экрана)]. Он содержит границы всех стран мира. Для повышения производительности границы упрощены. В особых случаях они могут быть уточнены по запросу. Территории "тегированы" их [https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 кодами ISO_3166-1_alpha-2]. Для США, Канады, Китая, Индии и Австралии имеются дополнительные границы их территориального деления. Смотрите в следующих примерах, как использовать селекторы территории. Селекторы территории менее полезны с стилях отрисовки карты, где они могут быть очень ресурсоёмкими, но они гораздо более полезны для [wikitr:/Help/Validator/MapCSSTagChecker правил валидатор, основанных на mapcss]. Для выбора территорий с левосторонним или правосторонним движением существует более простой способ, смотрите [#PseudoClasses Псевдоклассы]. See #10387 for main implementation of this feature.
     496
     497{{{
     498#!mapcss
     499node[inside("FR")]                    /* соответствует любой точке, находящейся во Франции (включая все её заморские территории)*/
    500500node[inside("FX")]                    /* matches any node located inside of Metropolitan France (i.e. only the mainland part with its near islands including Corse) */
    501 node[inside("EU")]                    /* matches any node located inside of the European Union                                                                      */
    502 node[inside("FR,DE")]                 /* matches any node located inside of France __OR__ inside of Germany                                                        */
    503 node[inside("US-FL")]                 /* matches any node located inside of the US state Florida                                                                    */
    504 
    505 node[outside("FR")]                   /* matches any node located outside of France                                                                                */
    506 node[outside("FR,DE")]                /* matches any node located outside of France __AND__ outside of Germany                                                      */
    507 node[inside("US")][outside("US-FL")]  /* matches any node located inside of the USA except the state Florida                                                        */
     501node[inside("EU")]                    /* соответствует любой точке внутри Европейского Союза */
     502node[inside("FR,DE")]                 /* соответствует любой точке во Франции __ИЛИ__ в Германии */
     503node[inside("US-FL")]                 /* соответствует любой точке в США, штат Флорида */
     504
     505node[outside("FR")]                   /* соответствует любой точке за пределами Франции */
     506node[outside("FR,DE")]                /* соответствует любой точке за пределами Франции __И__ за пределами Германии */
     507node[inside("US")][outside("US-FL")]  /* соответствует любой точке в США, за исключением штата Флорида */
    508508}}}
    509509