summaryrefslogtreecommitdiff
path: root/overpass.xml
blob: 315d50091ea4a09041eb6dbb565b7fc5d8b274a8 (plain)
1
<blocks app="Snap! 4.0, http://snap.berkeley.edu" version="1"><block-definition s="ist eine Straße nahe Längengrad: %&apos;lon&apos; Breitengrad: %&apos;lat&apos;" type="predicate" category="sensing"><header></header><code></code><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportGreaterThan"><block s="reportListLength"><block s="overpassQuery"><block s="reportJoinWords"><list><l>way(around:7,</l><block var="lat"/><l>,</l><block var="lon"/><l>)[highway];out ids;</l></list></block></block></block><l>0</l></block></block></script></block-definition><block-definition s="ist ein Gebäude nahe Längengrad: %&apos;lon&apos; Breitengrad: %&apos;lat&apos;" type="predicate" category="sensing"><header></header><code></code><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="reportGreaterThan"><block s="reportListLength"><block s="overpassQuery"><block s="reportJoinWords"><list><l>way(around:5,</l><block var="lat"/><l>,</l><block var="lon"/><l>)[building];out ids;</l></list></block></block></block><l>0</l></block></block></script></block-definition><block-definition s="Position des nächsten Denkmals um Längengrad: %&apos;lon&apos; Breitengrad: %&apos;lat&apos;" type="reporter" category="sensing"><header></header><code></code><inputs><input type="%n"></input><input type="%n"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>list</l></list><l>var arr = list.contents;&#xD;if (arr.length == 0) return new List([0, 0]);&#xD;return new List([arr[0].lon, arr[0].lat]);</l></block><list><block s="overpassQuery"><block s="reportJoinWords"><list><l>node(around:2000,</l><block var="lat"/><l>,</l><block var="lon"/><l>)[historic];out skel qt 1;</l></list></block></block></list></block></block></script></block-definition><block-definition s="Anzahl Häuser in meinen Malspuren" type="reporter" category="sensing"><header></header><code></code><inputs></inputs><script><block s="doDeclareVariables"><list><l>befehl</l></list></block><block s="doSetVar"><l>befehl</l><block s="evaluate"><block s="reportJSFunction"><list><l>list</l></list><l>var layers = this.penShapes.getLayers();&#xD;var llstr = [];&#xD;layers.forEach(function (layer) {&#xD; llstr.push("");&#xD; var lls = layer.getLatLngs();&#xD; lls.forEach(function (ll) {&#xD;  llstr[llstr.length - 1] += ll.lat + &apos; &apos; + ll.lng + &apos; &apos;;&#xD; });&#xD;});&#xD;&#xD;var cmds = [];&#xD;llstr.forEach(function (str) {&#xD; cmds.push(&apos;way(poly: "&apos; + str + &apos;")[building];&apos;);&#xD;});&#xD;&#xD;var command = cmds.join(&apos;\n&apos;) + &apos;\nout ids qt;&apos;;&#xD;&#xD;return command;</l></block><list></list></block></block><block s="doReport"><block s="reportListLength"><block s="overpassQuery"><block var="befehl"/></block></block></block></script></block-definition><block-definition s="zeichne Polygon aus Liste %&apos;list&apos;" type="command" category="pen"><header></header><code></code><inputs><input type="%l"></input></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>polygons</l></list><l>var myself = this;&#xD;&#xD;polygons.asArray().forEach(function (polygon) {&#xD; var polyArr = [];&#xD; polygon.asArray().forEach(function (latlngs) {&#xD;  polyArr.push(latlngs.asArray());&#xD; });&#xD; myself.penShapes.addLayer(&#xD;  L.polygon(polyArr, {&#xD;   color: myself.color.toString(),&#xD;   weight: myself.size&#xD;  })&#xD; );&#xD;});&#xD;&#xD;this.penShapes.addTo(window.map);</l></block><list><block var="list"/></list></block></block></script></block-definition><block-definition s="Polygone als Liste" type="reporter" category="pen"><header></header><code></code><inputs></inputs><script><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list></list><l>var layers = this.penShapes.getLayers();&#xD;var result = [];&#xD;&#xD;layers.forEach(function (layer) {&#xD; var part = [];&#xD; layer.getLatLngs().forEach(function (latlng) {&#xD;  part.push(new List([latlng.lng, latlng.lat]));&#xD; });&#xD; result.push(new List(part));&#xD;});&#xD;&#xD;return new List(result);</l></block><list></list></block></block></script></block-definition></blocks>