Created
December 17, 2017 00:24
-
-
Save s4l3h1/9a91d62a4b29e2b4b112197c103f1158 to your computer and use it in GitHub Desktop.
GeoServer tile with django
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import os | |
from django.conf import settings | |
from django.http.request import HttpRequest | |
from django.http.response import HttpResponse, HttpResponseRedirectBase | |
def http_redirect(request=HttpRequest): | |
bbox = [float(i) for i in request.GET.get('bbox').split(',')[:4]] | |
layers = request.GET.get('layers').replace(':', '_') | |
srs = request.GET.get('srs').replace(':', '_') | |
zoom = "_15" | |
tmp = '079_073/020379_018777.png' | |
target = os.path.join(settings.GEOSERVER_DATADIR, 'gwc', layers, srs + zoom, tmp) | |
return HttpResponseRedirectBase(target) | |
def http_simple(request=HttpRequest): | |
bbox = [float(i) for i in request.GET.get('bbox').split(',')[:4]] | |
layers = request.GET.get('layers').replace(':', '_') | |
srs = request.GET.get('srs').replace(':', '_') | |
zoom = "_15" | |
tmp = '079_073/020379_018777.png' | |
target = os.path.join(settings.GEOSERVER_DATADIR, 'gwc', layers, srs + zoom, tmp) | |
def chunk_file(f, chunksize=4096): | |
return iter(lambda: f.read(chunksize), b'') | |
buffer = b'' | |
# response.content = b'' | |
with open(target, 'rb') as f: | |
for buf in chunk_file(f): | |
buffer += buf | |
return HttpResponse(content=buffer, content_type='image/png') |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment