| 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 |
| | 499 | node[inside("FR")] /* соответствует любой точке, находящейся во Франции (включая все её заморские территории)*/ |
| 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 */ |
| | 501 | node[inside("EU")] /* соответствует любой точке внутри Европейского Союза */ |
| | 502 | node[inside("FR,DE")] /* соответствует любой точке во Франции __ИЛИ__ в Германии */ |
| | 503 | node[inside("US-FL")] /* соответствует любой точке в США, штат Флорида */ |
| | 504 | |
| | 505 | node[outside("FR")] /* соответствует любой точке за пределами Франции */ |
| | 506 | node[outside("FR,DE")] /* соответствует любой точке за пределами Франции __И__ за пределами Германии */ |
| | 507 | node[inside("US")][outside("US-FL")] /* соответствует любой точке в США, за исключением штата Флорида */ |