Ich habe die folgenden Koordinaten
minx, maxx, miny ,maxy = 448262.080078, 450360.750122, 6262492.020081, 6262938.950073
Ich möchte mit Python ein quadratisches Gitter mit einer Größe von 1 m erstellen.
import math
minx,maxx,miny,maxy = 448262.080078, 450360.750122, 6262492.020081, 6262938.950073
size = 1
def set_bbox(minx, maxx, miny, maxy, distx, disty):
nx = int(math.ceil(abs(maxx - minx)/distx))
ny = int(math.ceil(abs(maxy - miny)/disty))
new_maxx = minx + (nx*distx)
new_miny = maxy - (ny*disty)
return ((minx, new_maxx, new_miny, maxy),ny,nx)
# shift the bottom (right - down)
coord, ny, nx = set_bbox(minx,maxx,miny,maxy,size,size)
# left-up origin
origin = coord[0],coord[3]
# number of tiles
ncell = ny*nx
python
polygon
vector-grid
Gianni
quelle
quelle
Antworten:
Das folgende Skript erledigt die Aufgabe mit GDAL und Python:
quelle
Dieses Python-Skript verwendet die Pyshp- Bibliothek, wie von user16044 vorgeschlagen:
Hinweis: Ein quadratisches Raster mit einer Größe von 1 m mit einer solchen Ausdehnung entspricht einer Schicht mit etwa 1 Million Polygonen, sodass die Skriptleistung spürbar abnimmt.
quelle
Diese Frage wurde vor einiger Zeit beantwortet, aber ich füge eine andere Lösung hinzu, die Shapely- und Fiona-Bibliotheken verwendet:
quelle
Die Antwort auf das Erstellen eines Fischnetzgitter-Shapefiles in QGIS? zeigt eine Option zum Erstellen eines Rasters in der QGIS-Verarbeitungs-Toolbox.
quelle