Example #1
0
 result.hits.hits.forEach(function(hit) {
        var x = hit._source.project.location.lon;
        var y = hit._source.project.location.lat;
        var name = hit._source.project.name;
        var pop2005 = hit._source.project.pop2005;
        //console.log('x: ' + x + ' y: ' + y);
        mem_ds.add({ 'x' : x,
                     'y' : y,
                     'properties' : { 'NAME': name, 'pop2005': pop2005 }
                    });
 });
Example #2
0
            function(err, map) {
                if (err) {
                    cb(err, undefined)
                }

                var options = {
                    extent: '-20037508.342789,-8283343.693883,20037508.342789,18365151.363070'
                };

                var mem_ds = new mapnik.MemoryDatasource({});
                var proj = new mapnik.Projection('+init=epsg:3857');

                body.hits.hits.forEach(function(hit) {
                    var xy = proj.forward([hit._source.geopoint.lon, hit._source.geopoint.lat]);

                    var f = {
                        'x': xy[0],
                        'y': xy[1],
                        'properties': {
                            'id': hit._id,
                            'lat': hit._source.geopoint.lat,
                            'lon': hit._source.geopoint.lon
                        }
                    }
                    if (hit._source[map_def.style.styleOn]) {
                        f["properties"][map_def.style.styleOn] = hit._source[map_def.style.styleOn]
                    } else {
                        f["properties"][map_def.style.styleOn] = "";
                    }


                    mem_ds.add(f);
                });

                var l = new mapnik.Layer('test');
                l.srs = map.srs;
                l.styles = ['style'];
                l.datasource = mem_ds;
                map.add_layer(l);
                map.extent = bbox;
                if (render_type === "grid.json") {
                    var grid = new mapnik.Grid(map.width, map.height, {key: "id"});
                    var options = {layer: 0, "fields": [map_def.style.styleOn,"lat","lon"]}
                    map.render(grid, options, function(err, grid2) {
                        cb(err, grid2.encodeSync({"format": "utf"}));
                    });
                } else {
                    var im = new mapnik.Image(map.width, map.height);
                    map.render(im, function(err, im) {
                        cb(err, im.encodeSync('png'));
                    });
                }
            }
Example #3
0
                body.hits.hits.forEach(function(hit) {
                    var xy = proj.forward([hit._source.geopoint.lon, hit._source.geopoint.lat]);

                    var f = {
                        'x': xy[0],
                        'y': xy[1],
                        'properties': {
                            'id': hit._id,
                            'lat': hit._source.geopoint.lat,
                            'lon': hit._source.geopoint.lon
                        }
                    }
                    if (hit._source[map_def.style.styleOn]) {
                        f["properties"][map_def.style.styleOn] = hit._source[map_def.style.styleOn]
                    } else {
                        f["properties"][map_def.style.styleOn] = "";
                    }


                    mem_ds.add(f);
                });
Example #4
0
var map = new mapnik.Map(256, 256);
map.fromStringSync(s);

// go get some arbitrary data that we can stream
var shp = path.join(__dirname, '../data/world_merc');

var ds = new mapnik.Datasource({
    type: 'shape',
    file: shp
});

// get the featureset that exposes lazy next() iterator
var featureset = ds.featureset();

var mem_datasource = new mapnik.MemoryDatasource(
    {'extent': '-20037508.342789,-8283343.693883,20037508.342789,18365151.363070'}
    );

// build up memory datasource
while ((feat = featureset.next(true))) {
    var e = feat.extent();
    // center longitude of polygon bbox
    var x = (e[0] + e[2]) / 2;
    // center latitude of polygon bbox
    var y = (e[1] + e[3]) / 2;
    var attr = feat.attributes();
    mem_datasource.add({ 'x' : x,
                         'y' : y,
                         'properties' : { 'feat_id': feat.id(), 'NAME': attr.NAME, 'POP2005': attr.POP2005 }
                       });
}
Example #5
0
          function(err, map) {
              if (err) {
                  res.writeHead(500, {
                    'Content-Type': 'text/plain'
                  });
                  res.end(err.message);
              }

              var options = {
                  extent: '-20037508.342789,-8283343.693883,20037508.342789,18365151.363070'
              };

              var mem_ds = new mapnik.MemoryDatasource(options);

              var el_query = {
                 'size': 100,
                 'query' : {
                     'match_all' : {}
                 },
                  'filter' : {
                      'geo_bounding_box' : {
                          'project.location' : {
                              'top_left' : {
                                  'lat' : bbox[3],
                                  'lon' : bbox[0]
                              },
                              'bottom_right' : {
                                  'lat' : bbox[1],
                                  'lon' : bbox[2]
                              }
                          }
                      }
                  }
              };

              search(el_query, function(result) {
                  if (!result.hits.hits) {
                        res.writeHead(500, {
                          'Content-Type': 'text/plain'
                        });
                        res.end('no elastic search results');
                  } else {
                      //console.log(JSON.stringify(result.facets, null, 2));
                      //console.log(result.took + 'ms / ' + result.hits.total + ' results');
                      result.hits.hits.forEach(function(hit) {
                             var x = hit._source.project.location.lon;
                             var y = hit._source.project.location.lat;
                             var name = hit._source.project.name;
                             var pop2005 = hit._source.project.pop2005;
                             //console.log('x: ' + x + ' y: ' + y);
                             mem_ds.add({ 'x' : x,
                                          'y' : y,
                                          'properties' : { 'NAME': name, 'pop2005': pop2005 }
                                         });
                      });

                      var l = new mapnik.Layer('test');
                      l.srs = map.srs;
                      l.styles = ['style'];
                      l.datasource = mem_ds;
                      map.add_layer(l);
                      map.extent = bbox;
                      var im = new mapnik.Image(map.width, map.height);
                      map.render(im, function(err, im) {
                          if (err) {
                              res.writeHead(500, {
                                'Content-Type': 'text/plain'
                              });
                              res.end(err.message);
                          } else {
                              res.writeHead(200, {
                                'Content-Type': 'image/png'
                              });
                              res.end(im.encodeSync('png'));
                          }
                      });
                  }
              });
          }