Exemplo n.º 1
0
def tile(request,
         project_hash,
         publish,
         layers_hash=None,
         z=None,
         x=None,
         y=None,
         format=None):
    params = {key.upper(): request.GET[key] for key in request.GET.keys()}
    project = params['PROJECT'] + '.qgs'
    mapserver_url = set_query_parameters(settings.GISQUICK_MAPSERVER_URL,
                                         {'MAP': abs_project_path(project)})
    layer_params = get_project_layers_info(project_hash,
                                           publish,
                                           project=project)
    if layer_params:
        try:
            layer = WmsLayer(project=project_hash,
                             publish=publish,
                             name=layers_hash,
                             provider_layers=params['LAYERS'].encode("utf-8"),
                             provider_url=mapserver_url,
                             image_format=format,
                             tile_size=256,
                             metasize=5,
                             **layer_params)
            return get_tile_response(layer, z=z, x=x, y=y)
        except TileNotFoundException as e:
            raise Http404
    raise Http404
Exemplo n.º 2
0
def tile(request,
         project_hash,
         publish,
         layers_hash=None,
         z=None,
         x=None,
         y=None,
         format=None):
    params = {key.upper(): request.GET[key] for key in request.GET.keys()}
    project = params['PROJECT'] + '.qgs'
    mapserver_url = set_query_parameters(settings.GISQUICK_MAPSERVER_URL,
                                         {'MAP': abs_project_path(project)})
    project_info = get_project_info(project_hash, publish, project=project)
    if not project_info:
        raise Http404
    if not check_project_access(request, params['PROJECT'],
                                project_info['authentication']):
        raise PermissionDenied
    try:
        layer = WmsLayer(project=project_hash,
                         publish=publish,
                         name=layers_hash,
                         provider_layers=params['LAYERS'].encode("utf-8"),
                         provider_url=mapserver_url,
                         image_format=format,
                         tile_size=256,
                         metasize=5,
                         extent=project_info['extent'],
                         resolutions=project_info['tile_resolutions'],
                         projection=project_info['projection']['code'])
        return get_tile_response(layer, z=z, x=x, y=y)
    except TileNotFoundException as e:
        raise Http404
Exemplo n.º 3
0
def tile(request, project_hash, publish, layers_hash=None, z=None, x=None, y=None, format=None):
	project = request.GET['project']+'.qgs'
	layer_params = get_project_layers_info(project_hash, publish, project=project)
	try:
		layer = WmsLayer(
			project=project_hash,
			publish=publish,
			name=layers_hash,
			provider_layers=request.GET['layers'].encode("utf-8"),
			provider_url=set_query_parameters(settings.WEBGIS_OWS_URL, {'map': project}),
			image_format=format,
			tile_size=256,
			metasize=5,
			**layer_params
		)
		return get_tile_response(layer, z=z, x=x, y=y)
	except TileNotFoundException, e:
		raise Http404
Exemplo n.º 4
0
 def mapcache_tile_request(self, request, project_hash, publish, layers_hash=None, z=None, x=None, y=None, format=None):
     params = {key.upper(): request.GET[key] for key in request.GET.iterkeys()}
     project = params['PROJECT']+'.qgs'
     layer_params = get_project_layers_info(project_hash, publish, project=project)
     if layer_params:
         try:
             layer = WmsLayer(
                 project=project_hash,
                 publish=publish,
                 name=layers_hash,
                 provider_layers=params['LAYERS'].encode("utf-8"),
                 provider_url=set_query_parameters(settings.GISLAB_WEB_MAPSERVER_URL, {'MAP': project}),
                 image_format=format,
                 tile_size=256,
                 metasize=5,
                 **layer_params
             )
             return get_tile_response(layer, z=z, x=x, y=y)
         except TileNotFoundException, e:
             raise Http404