Ejemplo n.º 1
0
def _areas_polygon(request, format, areas, srid=None):
    args = query_args_polygon(request, format, srid)
    serialiser = GeometrySerialiser(list(areas), args['srid'], args['simplify_tolerance'])

    try:
        if format == 'kml':
            output, content_type = serialiser.kml('full')
        elif format == 'geojson':
            output, content_type = serialiser.geojson()
    except TransformError as e:
        return output_json({'error': e.args[0]}, code=400)

    return output_polygon(content_type, output)
Ejemplo n.º 2
0
def _areas_polygon(request, format, areas, srid=None):
    args = query_args_polygon(request, format, srid)
    serialiser = GeometrySerialiser(list(areas), args['srid'],
                                    args['simplify_tolerance'])

    try:
        if format == 'kml':
            output, content_type = serialiser.kml('full')
        elif format == 'geojson':
            output, content_type = serialiser.geojson()
    except TransformError as e:
        return output_json({'error': e.args[0]}, code=400)

    return output_polygon(content_type, output)
Ejemplo n.º 3
0
def areas_polygon(request, area_ids, srid='', format='kml'):
    area_ids = area_ids.split(',')
    args = query_args_polygon(request, format, srid, area_ids)

    areas = list(Area.objects.filter(id__in=area_ids))
    if not areas:
        return output_json({'error': _('No areas found')}, code=404)

    serialiser = GeometrySerialiser(areas, args['srid'], args['simplify_tolerance'])
    try:
        if format == 'kml':
            output, content_type = serialiser.kml('full')
        elif format == 'geojson':
            output, content_type = serialiser.geojson()
    except TransformError as e:
        return output_json({'error': e.args[0]}, code=400)

    return output_polygon(content_type, output)
Ejemplo n.º 4
0
def area_polygon(request, srid='', area_id='', format='kml'):
    if not srid and hasattr(countries, 'area_code_lookup'):
        resp = countries.area_code_lookup(request, area_id, format)
        if resp:
            return resp

    args = query_args_polygon(request, format, srid, [area_id])

    area = get_object_or_404(Area, id=area_id)

    try:
        output, content_type = area.export(args['srid'], format, simplify_tolerance=args['simplify_tolerance'])
        if output is None:
            return output_json({'error': _('No polygons found')}, code=404)
    except TransformError as e:
        return output_json({'error': e.args[0]}, code=400)

    return output_polygon(content_type, output)
Ejemplo n.º 5
0
def areas_polygon(request, area_ids, srid='', format='kml'):
    area_ids = area_ids.split(',')
    args = query_args_polygon(request, format, srid, area_ids)

    areas = list(Area.objects.filter(id__in=area_ids))
    if not areas:
        return output_json({'error': _('No areas found')}, code=404)

    serialiser = GeometrySerialiser(areas, args['srid'], args['simplify_tolerance'])
    try:
        if format == 'kml':
            output, content_type = serialiser.kml('full')
        elif format == 'geojson':
            output, content_type = serialiser.geojson()
    except TransformError as e:
        return output_json({'error': e.args[0]}, code=400)

    return output_polygon(content_type, output)
Ejemplo n.º 6
0
def area_polygon(request, srid='', area_id='', format='kml'):
    if not srid and hasattr(countries, 'area_code_lookup'):
        resp = countries.area_code_lookup(request, area_id, format)
        if resp:
            return resp

    args = query_args_polygon(request, format, srid, [area_id])

    area = get_object_or_404(Area, id=area_id)

    try:
        output, content_type = area.export(args['srid'], format, simplify_tolerance=args['simplify_tolerance'])
        if output is None:
            return output_json({'error': _('No polygons found')}, code=404)
    except TransformError as e:
        return output_json({'error': e.args[0]}, code=400)

    return output_polygon(content_type, output)