Add comment describing the overpass queries we use
authorTom Hughes <tom@compton.nu>
Mon, 17 Mar 2014 09:19:14 +0000 (09:19 +0000)
committerTom Hughes <tom@compton.nu>
Mon, 17 Mar 2014 09:19:14 +0000 (09:19 +0000)
app/assets/javascripts/index/query.js

index 8e0e0dae54147292fa7bb9933bd75f9424102343..01a8a1f69e2ed212d4e3383504c6a81b3fbd6669 100644 (file)
@@ -209,6 +209,29 @@ OSM.Query = function(map) {
     }));
   }
 
+  /*
+   * To find nearby objects we ask overpass for the union of the
+   * following sets:
+   *
+   *   node(around:<radius>,<lat>,lng>)
+   *   way(around:<radius>,<lat>,lng>)
+   *   node(w)
+   *   relation(around:<radius>,<lat>,lng>)
+   *
+   * to find enclosing objects we first find all the enclosing areas:
+   *
+   *   is_in(<lat>,<lng>)->.a
+   *
+   * and then return the union of the following sets:
+   *
+   *   relation(pivot.a)
+   *   way(pivot.a)
+   *   node(w)
+   *
+   * In order to avoid overly large responses we don't currently
+   * attempt to complete any relations and instead just show those
+   * ways and nodes which are returned for other reasons.
+   */
   function queryOverpass(lat, lng) {
     var latlng = L.latLng(lat, lng),
       radius = 10 * Math.pow(1.5, 19 - map.getZoom()),