18 | | * '''E''' (''Enable''): Enable or disable this filter line. |
19 | | * '''H''' (''Hide elements''): If this option is ticked, the chosen objects are completely hidden. Otherwise they are disabled and shown in a shade of gray. |
20 | | * '''Text''': The search term or property that defines the objects that are filtered. |
21 | | * '''I''' (''Inverse Filter''): Normally, the specified objects are hidden and the rest is shown. If this option is activated, only the specified objects are shown and the rest is hidden. |
22 | | * '''M''' (''Filter Mode''): One of the following: ''R: replace selection'', ''A: add to selection'', ''D: remove from selection'', ''F: find in selection''. This mode selector defines how a filter is combined with the previous filter. |
23 | | The filter '''Mode''' options are set in the pop-up window, where you will also enter the search text. A number of examples is provided. The ''E'' till ''I'' options are selected in the Filter box (normally at the right of your screen) by ticking the appropriate box. Note that the text line above the click boxes may contain dots in your particular version of JOSM. This will probably be fixed. |
24 | | The order of the ticks from left to right means: Enable this filter line / Hide the filtered items / Your search-filter text / The inverse filter / Mode letter. |
| 27 | === Productivity === |
| 28 | * Disable/separate objects that were fully tagged (using tag count and custom filters) from incomplete objects |
| 29 | * Disable recently modified objects (and it is irrelevant: if it modified by you or another person) |
| 30 | * Untagged objects `untagged` can be used instead of Notes at [osmwww: openstreetmap.org]. It is faster than to set/remove `fixme=resurvey` - please don't overuse this principle |
26 | | === Examples === |
27 | | ||Filter text ||Description|| |
28 | | ||{{{ ((landuse:|natural:|leisure:|building:) | (role:outer|role:inner))}}} ||De-clutter the map. Doesn't handle relations perfectly|| |
29 | | ||{{{ -highway: | type:node }}} ||De-clutters map|| |
30 | | ||{{{ type:node & untagged }}} ||Make it easier to select ways|| |
31 | | ||{{{ modified }}} ||Quickly see your changes|| |
32 | | ||{{{ child (type:way & highway:) }}} ||All nodes that's part of a highway|| |
33 | | ||{{{ child (type:relation & (natural:|landuse:)) }}} ||All natural and landuse areas formed by relations|| |
34 | | ||{{{ -((highway | child highway | untagged | public_transport) & -(highway=footway | highway=path | highway=steps | highway=track)) }}} || Only roads for public transport. Good for mapping bus networks.|| |
| 32 | === Overview === |
| 33 | The filter lines are evaluated from top down, with respect to values in [#Columns Columns]. |
38 | | == Regular Expressions == |
| 37 | === Columns ===#Columns |
| 38 | * **E** (''Enable''): Enable or disable this filter line. |
| 39 | * **H** (''Hide elements'' from [wikitr:/Help/MapView main view]): normally, all matched objects are disabled, but you can completely hide them: |
| 40 | * disabled - visible and displayed as grey |
| 41 | * hidden - the chosen objects are completely hidden |
| 42 | * **Text**: The search term or property that defines the objects that are filtered. Every search query from [wikitr:/Help/Action/Search Search] action is supported: |
| 43 | * standard substring search (or exact search with "quotes") |
| 44 | * Regular expressions ([https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html Java Regex]) |
| 45 | * MapCSS syntax |
| 46 | * **I** (''Inverse Filter''): Normally, the specified objects are hidden and the rest is shown. If this option is activated, only the specified objects are shown and the rest is hidden. |
| 47 | * **M** (''Filter Mode'') - how a ''filter line'' is combined with ''filter lines'' above ''filter line'' in question: |
| 48 | * R (''replace selection'') - effectively disable all ''filter lines'' above |
| 49 | * A (''add to selection'') - most users want this, ''filter lines'' with this mode are independent of each other |
| 50 | * D (''remove from selection'') - un-filter all elements matched |
| 51 | * F (''find in selection'') - TODO |
40 | | The filter supports Java Regex. For detailed Information see http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html |
| 53 | The list can by ordered by clicking on the table headers. |
| 54 | |
| 55 | === Control buttons === |
| 56 | TODO explain 7 buttons. |
| 57 | |
| 58 | === Keyboard shortcuts === |
| 59 | Additional to the checkbox in the filter panel, enabling or disabling filters is possible with keyboard shortcuts. `Ctrl+Alt+E` plus `[1-9,0,A-Z]` toggles the corresponding filter on or off, counting from the top of the list. If unsure, `Ctrl+Alt+E` only, without addition, will show a list of available shortcuts. |
| 60 | |
| 61 | |
| 62 | == Filter warning == |
| 63 | [[Image(filters warning.png,link=,right,margin-left=20,margin-right=100)]] |
| 64 | |
| 65 | If any filter is active, and at least one object was filtered, a transparent message box will appear in the top right corner of [wikitr:/Help/MapView main view]. |
| 66 | The message has the title **Filter active** and displays the number of disabled objects. |
| 67 | |
| 68 | |
| 69 | == Examples ==#Examples |
| 70 | ||= Filter text =||= Description or note =|| |
| 71 | || `((landuse: | natural: | leisure: | building:) | (role:outer | role:inner))` || Doesn't handle relations perfectly || |
| 72 | || `shop=* opening_hours=*` || shop= + opening_hours= tagged objects || |
| 73 | || `shop=* name=*` || shop= + name= tagged objects || |
| 74 | || `type:node -shop=*` || All nodes except shops. Geometry modification using mouse move disabled, but possible using other modes (ex. - [wikitr:/Help/Action/ImproveWayAccuracy Improve Way Accuracy mode] (`W`)) || |
| 75 | || `(type:node | type:way | type:relation) (modified | user:Steve)` || Hide objects if you are the latest editor (useful during mass re-tagging and semi-mechanical edits) || |
| 76 | || `-highway:` || Everything except highway= tagged objects || |
| 77 | || `man_made=pipeline` || Pipelines || |
| 78 | || `natural=water` || Water objects || |
| 79 | || `admin_level:` || Admin boundaries || |
| 80 | || `boundary: | leisure: | landuse: | waterway: | amenity: | natural: | building:` || De-clutters map, aggressive (sometimes you may want to keep buildings or amenity key) || |
| 81 | || `type:node & untagged` || Make it easier to select ways || |
| 82 | || `modified` || Quickly see your changes || |
| 83 | || `child (type:way & highway:)` || All nodes that's part of a highway || |
| 84 | || `child (type:relation & (natural: | landuse:))` || All natural and landuse areas formed by relations || |
| 85 | || `-((highway | child highway | untagged | public_transport) & -(highway=footway | highway=path | highway=steps | highway=track))` || Only roads that can be used by public transport. Good for mapping bus networks. || |
| 86 | || `public_transport | puj\:platform | ((public_transport | highway) & -(highway=footway | highway=steps | highway=track | highway=street_lamp | highway=path | highway=crossing | highway=turning_circle) & (nth%:1 & (role: | role:stop | role:platform | role:hail_and_ride)))` || Shows only currently being used ways/nodes/areas of public transport by checking the options "H" and "I". Good for reviewing the current network || |
| 87 | || `child (type:relation & (boundary:administrative)) & (-barrier & -highway)` || Select all ways that are part of an administrative boundary aka child, but not part of a highway or barrier by selecting Hide, Inverse and as mode choose Add to show only these || |
| 88 | || `(highway:) & ("^width$") & -(("^width$":"^(([0-9]|[1-5][0-9])\.[0-9][0-9])$") | ("^width$":"^(([0-9]|[1-5][0-9])\.[0-9])$") | ("^width$":"^([0-9]|[1-5][0-9])$"))` || regex example to filter all roads with a width but not formatted 0.00; 00.00; 0.0; 00.0; 0 or 00 (anything that's not really a proper value or exceeds 59m for width) || |
| 89 | |
| 90 | See also other [wikitr:/Help/Action/Search#Examples examples]. If you have some clever filters, add them here. |
| 91 | |
| 92 | |
| 93 | == Auto filters ==#Autofilters |
| 94 | Auto filters automatically adds filter buttons in the top left corner of the [wikitr:/Help/MapView map view] for special keys. This needs to be enabled in the [wikitr:/Help/Preferences/DrawingPreference OSM Data settings]. These buttons only appear if there is at least one object tagged with the respective tag within the mapview. See the following screencast on how to enable and use the filter buttons. Above the filter buttons the key which is currently used for the autofilter is displayed (not yet shown in the screencast). A click on that button leads to the preferences where you can change the key. |
| 95 | |
| 96 | [[Image(autofilter.gif,link=)]] |
| 97 | |