2016-04-26 13 views

Antwort

3

Ich glaube, Geometry.buffer ist was Sie suchen.

from django.contrib.gis.geos import Polygon 

poly = Polygon.from_bbox((0, 0, 5, 5)) 
poly.extent # (0.0, 0.0, 5.0, 5.0) 
p2 = poly.buffer(1) 
p2.extent #(-1.0, -1.0, 6.0, 6.0) 

, wenn Sie es verkleinern möchten, einen negativen Wert in dem Aufruf verwenden, um Puffer

+0

Sie so viel verdanken, dass genau das, was ich suche. Weißt du, wie ich die Einheit auf den Puffer setzen kann? Kann ich etwas machen dieses Poly.Puffer (D (km = 2))? Ich schaute in die Dokumentation und googelte herum, aber ich konnte nichts finden. –

+1

Wenn die Pufferung kleine Entfernungen sein wird, ist die Faustregel, dass ein Breiten- und Längengrad gleich 110 km ist, gut genug (dies gilt nur am Äquator). Wenn Sie genaue Maßnahmen benötigen, müssen Sie die korridore SRID auswählen. Die Verwendung von D ist nur in Geoquerysets möglich. Aber ich wage zu sagen, dass es viel einfacher werden könnte! – e4c5

+0

Danke! Ich konnte es in den Unterlagen nicht finden; Puffer hat in meiner Umgebung typischerweise eine andere Bedeutung ;-) –