Changes between Version 14 and Version 15 of Nl:Help/Styles/MapCSSImplementation
- Timestamp:
- 2016-12-26T17:01:45+01:00 (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Nl:Help/Styles/MapCSSImplementation
v14 v15 1 [[TranslatedPages(revision=1 20)]]1 [[TranslatedPages(revision=133)]] 2 2 [[PageOutline(1-10,Inhoud)]] 3 Deze pagina documenteert details over implementatie van [osmwiki:MapCSS/0.2 MapCSS] in JOSM. 4 5 == Waar het in JOSM wordt gebruikt == 3 Deze pagina documenteert details over implementatie van [osmwiki:MapCSS/0.2 MapCSS] in JOSM. Dit wordt gebruikt voor de volgende mogelijkheden in JOSM: 4 5 * [wiki:/Nl:Styles Kaarttekenstijlen] 6 * [wiki:/Nl:Rules regels voor Validatie] 6 7 * [wiki:/Nl:Help/Action/Search venster Zoeken] 7 * [wiki:/Nl:Help/Dialog/TagsMembership venster Tags/Leden] - gebruikt om zichtbare tags te filteren8 * [wiki:/Nl:Help/Dialog/RelationList venster Relaties] - gebruikt om zichtbare relaties te filteren9 * [[Extend JOSM#Customstylesandpublication]]10 * [[Extend JOSM#Customtagcheckerrules]]11 8 12 9 TODO: mogelijk meer … … 214 211 215 212 === Ouder-selector === 216 In aanvulling op kind-selector ondersteunt JOSM ook de notie van een '''ouder-selector'''. Onthoud dat ouder-selectoren een 217 JOSM-specifieke uitbreiding zijn van MapCSS en niet aanwezig zijn in andere implementaties van MapCSS. 218 219 gelijk aan een kind-selector, komt een ouder-selector alleen overeen als zowel de ouder- als het kindobject overeenkomen. In tegenstelling tot 220 de kind-selector, wordt het teken < gebruikt. 213 In aanvulling op kind-selector ondersteunt JOSM ook de notie van een '''ouder-selector'''. Onthoud dat ouder-selectoren een JOSM-specifieke uitbreiding zijn van MapCSS en niet aanwezig zijn in andere implementaties van MapCSS. 214 215 Net als bij een kind-selector, komt een ouder-selector alleen overeen als zowel de ouder- als het kindobject overeenkomen. In tegenstelling tot de kind-selector, wordt het teken < gebruikt. 221 216 222 217 In tegenstelling tot de kind-selector, zal het ouder-object worden "geselecteerd". Met andere woorden, de eigenschappen in het declaratieblok {{{{...}}}} zijn van toepassing op het object aan de rechterkant van het teken "<". … … 353 348 }}} 354 349 {{{#!td align=left valign=top 355 Overeenkomst [http://download.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html#sum Reguliere expressie] 350 Overeenkomst [https://download.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html#sum Reguliere expressie] 356 351 357 352 }}} … … 362 357 /* Onthoud dat reguliere expressies moeten zijn omsloten door /.../ */ 363 358 }}} 364 Hoofdlettergevoelige overeenkomsten kunnen worden bereikt via de ingebedde vlag expressie `(?i)` (zie [http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html#CASE_INSENSITIVE Pattern.CASE_INSENSITIVE]). 359 Hoofdlettergevoelige overeenkomsten kunnen worden bereikt via de ingebedde vlag expressie `(?i)` (zie [https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html#CASE_INSENSITIVE Pattern.CASE_INSENSITIVE]). 365 360 {{{ 366 361 #!css … … 373 368 }}} 374 369 {{{#!td align=left valign=top 375 Ontkennende [http://download.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html#sum Reguliere expressie] overeenkomst 370 Ontkennende [https://download.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html#sum Reguliere expressie] overeenkomst 376 371 377 372 }}} … … 444 439 {{{ 445 440 #!css 446 way[!highway] /* komt overeen met elke weg die geen tag 'highway' heeft */ 447 way[!"VALSOU"] /* aanhalingstekens gebruiken als overeenkomen van hoofdletters vereist is */ 448 way[!"name:fr"] /* aanhalingstekens gebruiken als naam van de tag speciale tekens bevat (witruimte, dubbele punten, etc.) */ 449 }}} 450 }}} 451 |------------------------------------------------------------------------------- 452 {{{#!td align=left valign=top 453 Aanwezigheid van tag door overeenkomst [http://download.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html#sum Reguliere expressie] (sinds r6547) 441 way[!highway] /* komt overeen met elke weg die geen tag 'highway' heeft 442 */ 443 way[!"VALSOU"] /* aanhalingstekens gebruiken als overeenkomen van 444 hoofdletters vereist is 445 */ 446 way[!"name:fr"] /* aanhalingstekens gebruiken als naam van de tag 447 speciale tekens bevat (witruimte, dubbele punten, etc.) 448 */ 449 }}} 450 }}} 451 |------------------------------------------------------------------------------- 452 {{{#!td align=left valign=top 453 Aanwezigheid van tag door overeenkomst [https://download.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html#sum Reguliere expressie] (sinds r6547) 454 454 }}} 455 455 {{{#!td align=left valign=top … … 466 466 {{{ 467 467 #!css 468 way[!/^addr:/] /* komt overeen met elke weg die geen tag 'addr:*' heeft */ 468 way[!/^addr:/] /* komt overeen met elke weg die geen tag 'addr:*' heeft 469 */ 469 470 }}} 470 471 }}} … … 556 557 }}} 557 558 559 === Gebied-selector === 560 561 U kunt testen of een ovject ligt binnen of buiten een specifiek gebied. JOSM heeft daar een interne database voor. Het bestand voor de gebieden is een osm-bestand en kan [/export/HEAD/josm/trunk/data/boundaries.osm hier] worden gedownload en worden geopend in JOSM om het te bekijken [attachment:boundaries.png (voorbeeld schermafdruk)]. Het bevat de grenzen van alle landen in de wereld. Vanwege de uitvoering zijn de grenzen vereenvoudigd. Zij kunnen op verzoek in speciale gevallen worden verfijnd. De gebieden zijn "getagd" met hun [https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 ISO_3166-1_alpha-2 codes]. USA, Canada en Australië hebben aanvullende grenzen voor hun onderverdelingen. Bekijk de volgende voorbeelden over hoe de selectors voor gebieden te gebruiken. Gebieds-selectoren zijn minder nuttig in kaarttekenstijlen en kunnen erg veel bronnen in beslag nemen. Zij zijn echter veel nuttiger voor [wiki:/Nl:Help/Validator/MapCSSTagChecker op MapCSS gebaseerde regels voor validatie]. Er is een eenvoudiger manier om gebieden met links en rechts rijdend verkeer te selecteren, bekijk #Pseudoklassen. Bekijk #10387 voor de belangrijkste implementatie van deze mogelijkheid. 562 563 {{{ 564 #!mapcss 565 node[inside("FR")] /* komt overeen met elke knoop gelegen binnen Frankrijk 566 (inclusief alle overzeese gebiedsdelen) 567 */ 568 node[inside("FX")] /* komt overeen met elke knoop gelegen binnen stedelijk Frankrijk 569 (d.i. alleen het deel van het vasteland met zijn 570 nabijgelegen eilanden, inclusief Corsica) 571 */ 572 node[inside("EU")] /* komt overeen met elke knoop gelegen binnen de Europese 573 Gemeenschap 574 */ 575 node[inside("FR,DE")] /* komt overeen met elke knoop gelegen binnen Frankrijk __OF__ 576 binnen Duitsland 577 */ 578 node[inside("US-FL")] /* komt overeen met elke knoop gelegen binnen de staat 579 Florida van de VS 580 */ 581 582 node[outside("FR")] /* komt overeen met elke knoop gelegen buiten Frankrijk 583 */ 584 node[outside("FR,DE")] /* komt overeen met elke knoop gelegen buiten Frankrijk 585 __EN__ buiten Duitsland 586 */ 587 node[inside("US")][outside("US-FL")] /* komt overeen met elke knoop gelegen binnen de VS, 588 met uitzondering van de staat Florida 589 */ 590 }}} 558 591 559 592 === Zoom-selector === … … 578 611 579 612 === Pseudoklassen === 580 Zie [ https://josm.openstreetmap.de/doc/org/openstreetmap/josm/gui/mappaint/mapcss/Condition.PseudoClasses.html Javadoc] voor de up-to-date lijst van pseudoklassen die worden ondersteund door JOSM's MapCSS-implementatie.613 Zie [/doc/org/openstreetmap/josm/gui/mappaint/mapcss/Condition.PseudoClasses.html Javadoc] voor de up-to-date lijst van pseudoklassen die worden ondersteund door JOSM's MapCSS-implementatie. 581 614 582 615 || {{{:closed}}} || waar voor wegen waar de eerste knoop hetzelfde is als de laatste en voor elke relatie van een (volledig gedownloade) multipolygoon || … … 632 665 default:: 633 666 Als u de laag in de selector weglaat, is dat hetzelfde als {{{::default}}} gebruiken. 634 *:: 667 668 Nog een voorbeeld: 669 {{{ 670 #!mapcss 671 node[amenity=parking] { 672 icon-image: "presets/vehicle/parking/parking.svg"; /* geeft het interne pictogram van JOSM 673 voor parkeren weer in de standaard laag 674 */ 675 text: ref; /* geeft de waarde van de sleutel ref weer 676 als tekst in de standaard laag 677 */ 678 } 679 680 node[amenity=parking][fee=yes]::fee { 681 icon-image: "presets/money/exchange.svg"; /* geeft het interne pictogram van JOSM 682 voor wisselkantoor weer in de laag fee 683 */ 684 icon-offset-x: 14; /* verschuift het pictogram */ 685 icon-offset-y: -12; /* verschuift het pictogram */ 686 text: charge; /* geeft de waarde van de sleutel charge 687 als tekst weer in de laag fee 688 */ 689 text-offset-x: 16; /* verschuift de tekst */ 690 text-offset-y: 17; /* verschuift de tekst */ 691 } 692 }}} 693 Het resultaat ziet er zo uit: 694 695 [[Image(Help/Styles/MapCSSImplementation:multiple_icons_and_texts.png)]] 696 635 697 In aanvulling daarop kunt u de * laag gebruiken om voorrang te verkrijgen en alle lagen te initialiseren.[[br]] 636 698 Het krijgt voorrang boven alle bestaande subgedeelten, dus 699 637 700 {{{ 638 701 #!css … … 641 704 way::* { c; } 642 705 }}} 643 is equivalent aan706 is equivalent aan 644 707 {{{ 645 708 #!css … … 649 712 way::B { c; } 650 713 }}} 651 en het initialiseert nieuwe subgedeelten. Met andere woorden:714 en het initialiseert nieuwe subgedeelten. Met andere woorden: 652 715 {{{ 653 716 #!css … … 655 718 way::A { b; } 656 719 }}} 657 is equivalent aan720 is equivalent aan 658 721 {{{ 659 722 #!css … … 662 725 way::A { b; } 663 726 }}} 664 wat op zijn beurt hetzelfde is als727 wat op zijn beurt hetzelfde is als 665 728 {{{ 666 729 #!css … … 668 731 way::A { b; } 669 732 }}} 670 of733 of 671 734 {{{ 672 735 #!css … … 748 811 }}} 749 812 750 De syntaxis komt nagenoeg overeen met de officiële [http ://dev.w3.org/csswg/css-conditional/ syntaxis voor CSS]. De volgende voorwaarden worden ondersteund:813 De syntaxis komt nagenoeg overeen met de officiële [https://drafts.csswg.org/csswg/css-conditional/ syntaxis voor CSS]. De volgende voorwaarden worden ondersteund: 751 814 752 815 {{{#!th … … 876 939 || {{{dashes-background-color}}} || De kleur die gebruikt moet worden tussen de streepjes (optioneel) || ''Kleur'' || - || 877 940 || {{{dashes-background-opacity}}} || Waarde van transparantie voor de achtergrond van de streepjes || ''Transparantie'' || waarde van {{{opacity}}} || 878 || {{{linecap}}} || Vorm aan het einde van de lijn (zie [http://www.w3.org/TR/SVG/painting.html#StrokeLinecapProperty hier]) || {{{none}}}, {{{round}}}, {{{square}}} || {{{none}}} || 941 || {{{linecap}}} || Vorm aan het einde van de lijn (zie [https://www.w3.org/TR/SVG/painting.html#StrokeLinecapProperty hier]) || {{{none}}}, {{{round}}}, {{{square}}} || {{{none}}} || 879 942 || {{{linejoin}}} || Vorm op hoeken van de lijn || {{{round}}}, {{{miter}}}, {{{bevel}}} || {{{round}}} || 880 943 || {{{miterlimit}}} || Van toepassing voor {{{linejoin: miter}}}. Stelt de maximale oversteek in als lijnsegmenten elkaar ontmoeten onder een zeer kleine hoek || ''Getal'' (>= 1.0) || 10.0 || … … 904 967 || {{{fill-extent}}} || Stel deze eigenschap in om alleen de omtrek van het gebied te tekenen. Het getal specificeert hoe ver vanaf de rand van het gebied, in de richting van het midden, moet worden gevuld. (Indien niet ingesteld zal het gebied volledig worden gevuld) ''[sinds 9008]'' || ''Getal'' || - || 905 968 || {{{fill-opacity}}} || Hoe transparant de vulling is; van toepassing op zowel kleur als afbeelding || ''Transparantie'' || 1.0 || 906 || {{{text-position}}} || Ingesteld op {{{center}}}, als de te jst in het midden van het gebied zou moeten worden getekend || {{{line}}}, {{{center}}} || - ||969 || {{{text-position}}} || Ingesteld op {{{center}}}, als de tekst in het midden van het gebied zou moeten worden getekend || {{{line}}}, {{{center}}} || - || 907 970 || {{{text-...}}}, {{{font-...}}} |||||| Algemene eigenschappen tekst & lettertype || 908 971 Vereiste eigenschappen om een stijl voor een gebied te maken: {{{fill-color}}} of {{{fill-image}}} … … 971 1034 972 1035 '' '''Kleur''' '' 973 * benoemde kleur die kan worden gevonden in [http://www.w3.org/TR/css3-color/#svg-color deze] lijst 1036 * benoemde kleur die kan worden gevonden in [https://www.w3.org/TR/css3-color/#svg-color deze] lijst 974 1037 * HTML-stijl: '''{{{#RRGGBB}}}''', '''{{{#RGB}}}''', '''{{{#RRGGBBAA}}}''' 975 1038 * '''{{{rgb(/*r*/, /*g*/, /*b*/)}}}''' - Waarde RGD met argumenten van 0.0 tot en met 1.0 … … 999 1062 vergelijkinsoperatoren 1000 1063 asin, atan, atan2, ceil, cos, cosh, exp, floor, log, max, min, random, round, signum, sin, sinh, sqrt, tan, tanh:: 1001 in de gebruikelijke betekenis, [http://download.oracle.com/javase/7/docs/api/java/lang/Math.html details] 1064 in de gebruikelijke betekenis, [https://download.oracle.com/javase/7/docs/api/java/lang/Math.html details] 1002 1065 cond(b, fst, snd):: 1003 1066 b ? fst : snd:: … … 1090 1153 geeft een cardinale richting terug in radialen 1091 1154 waylength() [''sinds 8253'']:: 1092 ge fet d elengte van de weg in meters terug1155 geeft de lengte van de weg in meters terug 1093 1156 areasize() [''sinds 8253'']:: 1094 1157 geeft het gebied van een gesloten weg terug in vierkante meters … … 1222 1285 }}} 1223 1286 1224 De syntaxis komt nagenoeg overeen met de officiële [http://www.w3.org/TR/css3-mediaqueries/#syntax syntaxis voor CSS]. De volgende voorwaarden worden ondersteund: 1287 De syntaxis komt nagenoeg overeen met de officiële [https://www.w3.org/TR/css3-mediaqueries/#syntax syntaxis voor CSS]. De volgende voorwaarden worden ondersteund: 1225 1288 1226 1289 {{{#!th
