File indexing completed on 2024-05-19 15:23:14
0001 <!DOCTYPE html> 0002 <html><head> 0003 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> 0004 <title>highlight.overpassql</title> 0005 <meta name="generator" content="KF5::SyntaxHighlighting - Definition (Overpass QL) - Theme (Breeze Light)"/> 0006 </head><body style="background-color:#ffffff;color:#1f1c1b"><pre> 0007 <span style="color:#898887;">/* Overpass samples taken from</span> 0008 <span style="color:#898887;"> https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_QL</span> 0009 <span style="color:#898887;"> https://wiki.openstreetmap.org/wiki/Overpass_API/Overpass_API_by_Example</span> 0010 0011 */ 0012 0013 <span style="color:#898887;">// single line comment with </span><span style="color:#ca9219;background-color:#451e1a;font-weight:bold;">TODO</span><span style="color:#898887;"> alerts</span> 0014 0015 <span style="color:#898887;">/* multi-line comment with </span><span style="color:#81ca2d;background-color:#f7e6e6;font-weight:bold;">###</span><span style="color:#898887;"> alerts </span>*/ 0016 0017 [<span style="color:#644a9b;">out</span>:json][<span style="color:#0057ae;">timeout</span>:<span style="color:#b08000;">25</span>]; 0018 <span style="color:#898887;">// gather results</span> 0019 ( 0020 <span style="color:#898887;">// query part for: “amenity=post_box”</span> 0021 <span style="color:#644a9b;">node</span>[<span style="color:#bf0303;">"amenity"</span>=<span style="color:#bf0303;">"post_box"</span>](<span style="color:#b08000;">52.0</span>, <span style="color:#b08000;">13.0</span>, <span style="color:#b08000;">54.0</span>, <span style="color:#b08000;">13.5</span>); 0022 <span style="color:#644a9b;">way</span>[<span style="color:#bf0303;">"amenity"</span>=<span style="color:#bf0303;">"post_box"</span>](<span style="color:#006e28;">{{bbox}}</span>); 0023 <span style="color:#644a9b;">relation</span>[<span style="color:#bf0303;">"amenity"</span>=<span style="color:#bf0303;">"post_box"</span>](<span style="color:#006e28;">{{bbox}}</span>); 0024 ); 0025 <span style="color:#898887;">// print results</span> 0026 <span style="color:#644a9b;">out</span> <span style="color:#644a9b;font-weight:bold;">body</span>; 0027 >; 0028 <span style="color:#644a9b;">out</span> <span style="color:#644a9b;font-weight:bold;">skel</span> <span style="color:#644a9b;font-weight:bold;">qt</span>; 0029 0030 0031 [<span style="color:#644a9b;">out</span>:csv(::<span style="color:#644a9b;font-weight:bold;">type</span>, <span style="color:#bf0303;">"de:regionalschluessel"</span>, name, 0032 ::<span style="color:#644a9b;font-weight:bold;">count</span>, ::<span style="color:#bf0303;">"count:nodes"</span>, ::<span style="color:#bf0303;">"count:ways"</span>, ::<span style="color:#bf0303;">"count:relations"</span>)]; 0033 0034 <span style="color:#898887;">//All areas with regional key (German: "Regionalschlüssel") starting with 057</span> 0035 <span style="color:#644a9b;">area</span>[<span style="color:#bf0303;">"de:regionalschluessel"</span>~<span style="color:#bf0303;">"^057"</span>]; 0036 0037 <span style="color:#898887;">// Count the pharmacies in each area</span> 0038 <span style="font-weight:bold;">foreach</span>->.regio( 0039 <span style="color:#898887;">// display details for the current area</span> 0040 .regio <span style="color:#644a9b;">out</span>; 0041 0042 <span style="color:#898887;">// Collect all Nodes, Ways and Relations with amenity=pharmacy in the current area</span> 0043 ( <span style="color:#644a9b;">node</span>(<span style="color:#644a9b;">area</span>.regio)[amenity=pharmacy]; 0044 <span style="color:#644a9b;">way</span>(<span style="color:#644a9b;">area</span>.regio)[amenity=pharmacy]; 0045 <span style="color:#644a9b;">rel</span>(<span style="color:#644a9b;">area</span>.regio)[amenity=pharmacy];); 0046 0047 <span style="color:#898887;">// Count the elements in the current area Area</span> 0048 <span style="color:#644a9b;">out</span> <span style="color:#644a9b;font-weight:bold;">count</span>; 0049 ); 0050 0051 0052 [<span style="color:#0057ae;">timeout</span>:<span style="color:#b08000;">300</span>] 0053 [<span style="color:#0057ae;">bbox</span>:<span style="color:#b08000;">51.08282186160976</span>,-<span style="color:#b08000;">12.8759765625</span>,<span style="color:#b08000;">55.986091533808384</span>,-<span style="color:#b08000;">1.86767578125</span>] 0054 [<span style="color:#644a9b;">out</span>:csv(::<span style="color:#644a9b;font-weight:bold;">id</span>, ::<span style="color:#644a9b;font-weight:bold;">type</span>, name, <span style="color:#bf0303;">"name:en"</span>, <span style="color:#bf0303;">"name:ga"</span>)]; 0055 0056 ( <span style="color:#644a9b;">node</span>[name][<span style="color:#bf0303;">"name:en"</span>][<span style="color:#bf0303;">"name:ga"</span>](<span style="font-weight:bold;">if</span>:(t[<span style="color:#bf0303;">"name"</span>] != t[<span style="color:#bf0303;">"name:en"</span>]) && (t[<span style="color:#bf0303;">"name"</span>] != t[<span style="color:#bf0303;">"name:ga"</span>])); 0057 <span style="color:#644a9b;">way</span>[name][<span style="color:#bf0303;">"name:en"</span>][<span style="color:#bf0303;">"name:ga"</span>] (<span style="font-weight:bold;">if</span>:(t[<span style="color:#bf0303;">"name"</span>] != t[<span style="color:#bf0303;">"name:en"</span>]) && (t[<span style="color:#bf0303;">"name"</span>] != t[<span style="color:#bf0303;">"name:ga"</span>])); 0058 <span style="color:#644a9b;">rel</span>[name][<span style="color:#bf0303;">"name:en"</span>][<span style="color:#bf0303;">"name:ga"</span>] (<span style="font-weight:bold;">if</span>:(t[<span style="color:#bf0303;">"name"</span>] != t[<span style="color:#bf0303;">"name:en"</span>]) && (t[<span style="color:#bf0303;">"name"</span>] != t[<span style="color:#bf0303;">"name:ga"</span>])); 0059 ); 0060 <span style="color:#644a9b;">out</span>; 0061 0062 0063 [<span style="color:#644a9b;">out</span>:csv(<span style="color:#644a9b;font-weight:bold;">version</span>,<span style="color:#644a9b;font-weight:bold;">timestamp</span>,<span style="color:#644a9b;font-weight:bold;">changeset</span>,<span style="color:#644a9b;font-weight:bold;">count</span>)]; 0064 <span style="color:#644a9b;">timeline</span>(<span style="color:#644a9b;">relation</span>,<span style="color:#b08000;">2632934</span>); 0065 <span style="font-weight:bold;">for</span> (t[<span style="color:#bf0303;">"created"</span>]) 0066 { 0067 <span style="font-weight:bold;">retro</span>(_.val) 0068 { 0069 <span style="color:#644a9b;">rel</span>(<span style="color:#b08000;">2632934</span>); 0070 <span style="color:#644a9b;">make</span> stat <span style="color:#644a9b;font-weight:bold;">version</span>=u(<span style="color:#644a9b;font-weight:bold;">version</span>()),<span style="color:#644a9b;font-weight:bold;">timestamp</span>=u(<span style="color:#644a9b;font-weight:bold;">timestamp</span>()),<span style="color:#644a9b;font-weight:bold;">changeset</span>=u(<span style="color:#644a9b;font-weight:bold;">changeset</span>()),<span style="color:#644a9b;font-weight:bold;">count</span>=u(<span style="color:#644a9b;font-weight:bold;">count_members</span>()); 0071 <span style="color:#644a9b;">out</span>; 0072 } 0073 } 0074 0075 0076 [<span style="color:#0057ae;">timeout</span>:<span style="color:#b08000;">60</span>]; 0077 <span style="color:#644a9b;">area</span>[<span style="color:#bf0303;">"name"</span>=<span style="color:#bf0303;">"Mayenne"</span>]->.boundaryarea; 0078 <span style="color:#644a9b;">way</span>(<span style="color:#644a9b;">area</span>.boundaryarea)[<span style="color:#bf0303;">"building"</span>=<span style="color:#bf0303;">"church"</span>]; 0079 <span style="font-weight:bold;">foreach</span>( 0080 <span style="color:#644a9b;">node</span>(w)->.d; <span style="color:#898887;">// determine all nodes of a way</span> 0081 .n <span style="color:#644a9b;">is_in</span>->.a; 0082 <span style="color:#644a9b;">area</span>.a[name][boundary=administrative][admin_level~<span style="color:#bf0303;">"^[2-8]$"</span>] -> .a; 0083 <span style="color:#644a9b;">out</span> <span style="color:#644a9b;font-weight:bold;">center</span>; 0084 <span style="color:#644a9b;">convert</span> <span style="color:#644a9b;">way</span> ::=::, 0085 ::<span style="color:#644a9b;font-weight:bold;">id</span> = <span style="color:#644a9b;font-weight:bold;">id</span>(), 0086 <span style="color:#644a9b;">is_in</span>=a.<span style="color:#644a9b;font-weight:bold;">set</span>(<span style="color:#bf0303;">"{"</span> + t[<span style="color:#bf0303;">"admin_level"</span>] + <span style="color:#bf0303;">":"</span> + t[<span style="color:#bf0303;">"name"</span>] + <span style="color:#bf0303;">"}"</span>); 0087 0088 <span style="color:#644a9b;">out</span>; 0089 ); 0090 </pre></body></html>