summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCode WvS <code-wvs@quantentunnel.de>2015-03-08 10:09:15 +0100
committerCode WvS <code-wvs@quantentunnel.de>2015-03-08 10:09:15 +0100
commit53f4378325f30728cceeae8d149d69a74ca5556e (patch)
tree596d8b8b64270feb61188bc2ffb2123b948a22de
parent0b9b31b84c1070e51d4d3e257db5ccb1e63db683 (diff)
downloadsnap-yow-53f4378325f30728cceeae8d149d69a74ca5556e.tar.gz
snap-yow-53f4378325f30728cceeae8d149d69a74ca5556e.zip
make overpass query more usable by returning the list of elements
-rw-r--r--objects.js8
-rw-r--r--overpass.xml2
-rw-r--r--threads.js6
3 files changed, 8 insertions, 8 deletions
diff --git a/objects.js b/objects.js
index b351cdd..868dc43 100644
--- a/objects.js
+++ b/objects.js
@@ -224,10 +224,10 @@ SpriteMorph.prototype.initBlocks = function () {
category: 'motion',
spec: 'address at longitude: %n latitude: %n'
},
- overpassQuerySucceeds: {
- type: 'predicate',
+ overpassQuery: {
+ type: 'reporter',
category: 'sensing',
- spec: 'overpass query %s returns elements'
+ spec: 'overpass query %s'
},
focusMap: {
type: 'command',
@@ -2033,7 +2033,7 @@ SpriteMorph.prototype.blockTemplates = function (category) {
blocks.push('-');
blocks.push(block('reportDate'));
blocks.push('-');
- blocks.push(block('overpassQuerySucceeds'));
+ blocks.push(block('overpassQuery'));
// for debugging: ///////////////
diff --git a/overpass.xml b/overpass.xml
index 753c613..3960a51 100644
--- a/overpass.xml
+++ b/overpass.xml
@@ -1 +1 @@
-<blocks app="Snap! 4.0, http://snap.berkeley.edu" version="1"><block-definition s="ist eine Straße nahe Längengrad: %'lon' Breitengrad: %'lat'" type="predicate" category="sensing"><header/><code/><inputs><input type="%n"/><input type="%n"/></inputs><script><block s="doReport"><block s="overpassQuerySucceeds"><block s="reportJoinWords"><list><l>way(around:7,</l><block var="lat"/><l>,</l><block var="lon"/><l>)[highway];out;</l></list></block></block></block></script></block-definition><block-definition s="ist ein Gebäude nahe Längengrad: %'lon' Breitengrad: %'lat'" type="predicate" category="sensing"><header/><code/><inputs><input type="%n"/><input type="%n"/></inputs><script><block s="doReport"><block s="overpassQuerySucceeds"><block s="reportJoinWords"><list><l>way(around:5,</l><block var="lat"/><l>,</l><block var="lon"/><l>)[building];out;</l></list></block></block></block></script></block-definition></blocks>
+<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;</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;</l></list></block></block></block><l>0</l></block></block></script></block-definition></blocks> \ No newline at end of file
diff --git a/threads.js b/threads.js
index 06644f9..f8218c3 100644
--- a/threads.js
+++ b/threads.js
@@ -2692,8 +2692,8 @@ Process.prototype.focusMap = function (lon, lat, zoom) {
// there is a library imported that uses this function.
// TODO: Improve this :)
//
-// returns true if there are elements returned by the overpass query
-Process.prototype.overpassQuerySucceeds = function (query) {
+// returns elements returned by the overpass query
+Process.prototype.overpassQuery = function (query) {
var url = 'overpass-api.de/api/interpreter?data=[out:json];'
+ query;
@@ -2706,7 +2706,7 @@ Process.prototype.overpassQuerySucceeds = function (query) {
response = this.httpRequest.responseText;
this.httpRequest = null;
console.log(response); // DEBUG
- return JSON.parse(response).elements.length > 0;
+ return new List(JSON.parse(response).elements);
}
this.pushContext('doYield');
this.pushContext();