def renderTile(self, width, height, srs, coord): """ Render a single tile, return a VectorResponse instance. """ layer, ds = _open_layer(self.driver, self.parameters, self.layer.config.dirpath) features = _get_features( coord, self.properties, self.layer.projection, layer, self.clipped, self.projected, self.spacing, self.id_property, ) response = {"type": "FeatureCollection", "features": features} if self.projected: sref = osr.SpatialReference() sref.ImportFromProj4(self.layer.projection.srs) response["crs"] = {"wkt": sref.ExportToWkt()} if srs == getProjectionByName("spherical mercator").srs: response["crs"]["wkid"] = 102113 else: response["crs"] = {"srid": 4326, "wkid": 4326} return VectorResponse(response, self.verbose, self.precision)
def __init__(self, layer, type, query, **kwargs): self.mercator = getProjectionByName('spherical mercator') self.layer = layer self.type = type self. query = query self.table = kwargs.get('table', 'planet_osm_line') self.fill = kwargs.get('fill', '#000000') self.zoom_factor = kwargs.get('zoom_factor', 2) self.datasource = kwargs.get('datasource', 'xapi') self.xapi = None self.pgis = None # Hey look! You're reading the source code and have found an # Easter egg!! This is pretty much exactly what it looks like: # Instead of querying the Mapquest XAPI endpoint you can also # query a PostGIS database that has a copy of the rendering # database (the thing that osm2pgsql creates). Please note that # by querying a copy of the rendering database instead of a # tagging database that the results returned may be incomplete # and/or weird. if self.datasource == 'postgis': self.pgis = _connect(kwargs.get('dbdsn', '')).cursor(cursor_factory=RealDictCursor) else: self.xapi = mapquest.xapi.xapi()
def __init__(self, layer, type, query, **kwargs): self.mercator = getProjectionByName('spherical mercator') self.layer = layer self.type = type self.query = query self.table = kwargs.get('table', 'planet_osm_line') self.fill = kwargs.get('fill', '#000000') self.zoom_factor = kwargs.get('zoom_factor', 2) self.datasource = kwargs.get('datasource', 'xapi') self.xapi = None self.pgis = None # Hey look! You're reading the source code and have found an # Easter egg!! This is pretty much exactly what it looks like: # Instead of querying the Mapquest XAPI endpoint you can also # query a PostGIS database that has a copy of the rendering # database (the thing that osm2pgsql creates). Please note that # by querying a copy of the rendering database instead of a # tagging database that the results returned may be incomplete # and/or weird. if self.datasource == 'postgis': self.pgis = _connect(kwargs.get( 'dbdsn', '')).cursor(cursor_factory=RealDictCursor) else: self.xapi = mapquest.xapi.xapi()
def __init__(self, layer, mapfile, fields, layer_index=0, wrapper=None, scale=4, buffer=0): """ """ self.mapnik = None self.layer = layer maphref = urljoin(layer.config.dirpath, mapfile) scheme, h, path, q, p, f = urlparse(maphref) if scheme in ('file', ''): self.mapfile = path else: self.mapfile = maphref self.layer_index = layer_index self.wrapper = wrapper self.scale = scale self.buffer = buffer #De-Unicode the strings or mapnik gets upset self.fields = list(str(x) for x in fields) self.mercator = getProjectionByName('spherical mercator')
def _sref_4326(): """ """ sref = osr.SpatialReference() proj = getProjectionByName('WGS84') sref.ImportFromProj4(proj.srs) return sref
def __init__(self, layer, dsn, query, clipping=False, id_column='id', geometry_column='geometry', indent=2, precision=6): self.layer = layer self.dbdsn = dsn self.query = query self.mercator = getProjectionByName('spherical mercator') self.geometry_field = geometry_column self.id_field = id_column self.indent = indent self.precision = precision self.clipping = clipping
def __init__(self, layer, mapfile, fields, layer_index=0, wrapper=None, scale=4): """ """ self.mapnik = None self.layer = layer self.mapfile = mapfile self.layer_index = layer_index self.wrapper = wrapper self.scale = scale #De-Unicode the strings or mapnik gets upset self.fields = list(str(x) for x in fields) self.mercator = getProjectionByName('spherical mercator')
def __init__(self, layer, es_endpoint, es_index, es_size, es_record, **kwargs): self.projection = getProjectionByName('spherical mercator') self.layer = layer self.endpoint = str(es_endpoint) self.index = str(es_index) self.record = str(es_record) self.size = int(es_size); self.es = Elasticsearch([self.endpoint]) self.lat_field = kwargs.get('latitude_column', 'latitude') self.lon_field = kwargs.get('longitude_column', 'longitude') self.id_field = kwargs.get('id_column', '')
def __init__(self, layer, es_endpoint, es_index, es_size, es_record, **kwargs): self.projection = getProjectionByName('spherical mercator') self.layer = layer self.endpoint = str(es_endpoint) self.index = str(es_index) self.record = str(es_record) self.size = int(es_size) self.es = Elasticsearch([self.endpoint]) self.lat_field = kwargs.get('latitude_column', 'latitude') self.lon_field = kwargs.get('longitude_column', 'longitude') self.id_field = kwargs.get('id_column', '')
def __init__(self, layer, solr_endpoint, solr_query, **kwargs): self.projection = getProjectionByName('spherical mercator') self.layer = layer self.endpoint = str(solr_endpoint) self.query = solr_query self.solr = pysolr.Solr(self.endpoint) self.query_parser = kwargs.get('query_parser', 'spatial') self.lat_field = kwargs.get('latitude_column', 'latitude') self.lon_field = kwargs.get('longitude_column', 'longitude') self.id_field = kwargs.get('id_column', '') self.solr_radius = kwargs.get('radius', None) self.solr_fields = kwargs.get('response_fields', None)
def renderTile(self, width, height, srs, coord): """ Render a single tile, return a VectorResponse instance. """ layer, ds = _open_layer(self.driver, self.parameters, self.layer.config.dirpath) features = _get_features(coord, self.properties, self.layer.projection, layer, self.clipped, self.projected) response = {'type': 'FeatureCollection', 'features': features} if self.projected: sref = osr.SpatialReference() sref.ImportFromProj4(self.layer.projection.srs) response['crs'] = {'wkt': sref.ExportToWkt()} if srs == getProjectionByName('spherical mercator').srs: response['crs']['wkid'] = 102113 else: response['crs'] = {'srid': 4326, 'wkid': 4326} return VectorResponse(response, self.verbose)
def renderTile(self, width, height, srs, coord): """ Render a single tile, return a VectorResponse instance. """ layer, ds = _open_layer(self.driver, self.parameters, self.layer.config.dirpath) features = _get_features(coord, self.properties, self.layer.projection, layer, self.clipped, self.projected, self.spacing, self.id_property, self.skip_empty_fields) response = {'type': 'FeatureCollection', 'features': features} if self.projected: sref = osr.SpatialReference() sref.ImportFromProj4(self.layer.projection.srs) response['crs'] = {'wkt': sref.ExportToWkt()} if srs == getProjectionByName('spherical mercator').srs: response['crs']['wkid'] = 102113 else: response['crs'] = {'srid': 4326, 'wkid': 4326} return VectorResponse(response, self.verbose, self.precision)
def __init__(self, layer, mapfile, fields, layer_index=0, wrapper=None, scale=4, buffer=0): """ """ self.mapnik = None self.layer = layer maphref = urljoin(layer.config.dirpath, mapfile) scheme, h, path, q, p, f = urlparse(maphref) if scheme in ("file", ""): self.mapfile = path else: self.mapfile = maphref self.layer_index = layer_index self.wrapper = wrapper self.scale = scale self.buffer = buffer # De-Unicode the strings or mapnik gets upset self.fields = list(str(x) for x in fields) self.mercator = getProjectionByName("spherical mercator")