Exemplo n.º 1
0
def load_coverage():
    project_id = request.form.get('id', False)
    couchdb_coverage = request.form.get('couchdb_coverage', False)
    if couchdb_coverage == 'true':
        couch = CouchDB(
            'http://%s:%s' %
            ('127.0.0.1',
             current_app.config.geobox_state.config.get('couchdb', 'port')),
            current_app.config.geobox_state.config.get(
                'web', 'coverages_from_couchdb'))

        records = couch.load_records()
        coverage = []
        for record in records:
            # load only poylgons or mulitpolygons for coverages
            if record['geometry']['type'] in ('Polygon', 'MultiPolygon'):
                coverage.append(record)

    else:
        project = g.db.query(model.Project).with_polymorphic('*').filter_by(
            id=project_id).first()
        coverage = project.coverage

    if not coverage:
        return jsonify(coverage=False)
    else:
        return jsonify(coverage=coverage)
Exemplo n.º 2
0
def load_coverage():
    project_id = request.form.get('id', False)
    couchdb_coverage = request.form.get('couchdb_coverage', False)
    if couchdb_coverage == 'true':
        couch = CouchDB(
            'http://%s:%s' %
            ('127.0.0.1',
             current_app.config.geobox_state.config.get('couchdb', 'port')),
            current_app.config.geobox_state.config.get(
                'web', 'authorization_layer_name'))

        records = couch.load_records()
        coverage = []
        for record in records:
            geometry = record.get('geometry')
            # load only poylgons or mulitpolygons for coverages
            if geometry and isinstance(
                    geometry,
                    dict) and geometry.get('type') in ('Polygon',
                                                       'MultiPolygon'):
                coverage.append(record)

    else:
        project = g.db.query(model.Project).with_polymorphic('*').filter_by(
            id=project_id).first()
        if not project:
            abort(404)
        coverage = project.coverage

    if not coverage:
        return jsonify(coverage=False)
    else:
        return jsonify(coverage=coverage)
Exemplo n.º 3
0
def map():
    raster_sources = g.db.query(LocalWMTSSource).all()
    base_layer = g.db.query(ExternalWMTSSource).filter_by(
        background_layer=True).first()
    base_layer.bbox = base_layer.bbox_from_view_coverage()
    cache_url = get_local_cache_url(request)

    couch = CouchDB(
        'http://%s:%s' %
        ('127.0.0.1',
         current_app.config.geobox_state.config.get('couchdb', 'port')),
        current_app.config.geobox_state.config.get('web',
                                                   'coverages_from_couchdb'))

    records = couch.load_records()
    vector_geometries = []
    for record in records:
        if record['geometry']:  # check if record has geometry type
            vector_geometries.append(record)

    return render_template('map.html',
                           cache_url=cache_url,
                           base_layer=base_layer,
                           sources=raster_sources,
                           vector_geometries=vector_geometries)
Exemplo n.º 4
0
def load_coverage():
    project_id = request.form.get('id', False)
    couchdb_coverage = request.form.get('couchdb_coverage', False)
    if couchdb_coverage == 'true':
        couch = CouchDB('http://%s:%s' % ('127.0.0.1',
            current_app.config.geobox_state.config.get('couchdb', 'port')),
            current_app.config.geobox_state.config.get('web', 'coverages_from_couchdb'))

        records = couch.load_records()
        coverage = []
        for record in records:
            geometry = record.get('geometry')
            # load only poylgons or mulitpolygons for coverages
            if geometry and isinstance(geometry, dict) and geometry.get('type') in ('Polygon', 'MultiPolygon'):
                coverage.append(record)

    else:
        project = g.db.query(model.Project).with_polymorphic('*').filter_by(id = project_id).first()
        if not project:
            abort(404)
        coverage = project.coverage

    if not coverage:
        return jsonify(coverage=False)
    else:
        return jsonify(coverage=coverage)
Exemplo n.º 5
0
    def process(self):
        log.debug('Start vector export process. Task %d' % self.task_id)
        try:
            with self.task() as task:
                mapping = mappings[task.mapping_name].copy()
                output_file = self.app_state.user_data_path('export', task.project.title, task.mapping_name + '.shp', make_dirs=True)

                couch = CouchDB('http://%s:%s' % ('127.0.0.1', self.app_state.config.get('couchdb', 'port')), task.db_name)
                write_json_to_shape(couch.load_records(), mapping, output_file)
            self.task_done()
        except ConvertError, e:
            self.task_failed(e)
Exemplo n.º 6
0
def map():
    raster_sources = g.db.query(LocalWMTSSource).all()
    base_layer = g.db.query(ExternalWMTSSource).filter_by(background_layer=True).first()
    base_layer.bbox = base_layer.bbox_from_view_coverage()
    cache_url = get_local_cache_url(request)

    couch = CouchDB('http://%s:%s' % ('127.0.0.1', 
    	current_app.config.geobox_state.config.get('couchdb', 'port')), 
    	current_app.config.geobox_state.config.get('web', 'coverages_from_couchdb'))

    records = couch.load_records()
    vector_geometries = []
    for record in records:
    	if record['geometry']: # check if record has geometry type
    		vector_geometries.append(record)

    return render_template('map.html',
        cache_url=cache_url,
        base_layer=base_layer,
        sources=raster_sources,
        vector_geometries=vector_geometries
    )
Exemplo n.º 7
0
def load_coverage():
    project_id = request.form.get("id", False)
    couchdb_coverage = request.form.get("couchdb_coverage", False)
    if couchdb_coverage == "true":
        couch = CouchDB(
            "http://%s:%s" % ("127.0.0.1", current_app.config.geobox_state.config.get("couchdb", "port")),
            current_app.config.geobox_state.config.get("web", "coverages_from_couchdb"),
        )

        records = couch.load_records()
        coverage = []
        for record in records:
            # load only poylgons or mulitpolygons for coverages
            if record["geometry"]["type"] in ("Polygon", "MultiPolygon"):
                coverage.append(record)

    else:
        project = g.db.query(model.Project).with_polymorphic("*").filter_by(id=project_id).first()
        coverage = project.coverage

    if not coverage:
        return jsonify(coverage=False)
    else:
        return jsonify(coverage=coverage)