Tôi có tọa độ sau
minx, maxx, miny ,maxy = 448262.080078, 450360.750122, 6262492.020081, 6262938.950073
Tôi muốn tạo một lưới vuông có kích thước 1 m bằng python.
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
Điều này có được gắn với bất kỳ nền tảng GIS cụ thể nào không hoặc là yêu cầu để thực hiện điều này trong python thuần mà không có bất kỳ định dạng đầu ra cụ thể nào (ví dụ: shapefile, textfile, v.v.)
Cảm ơn @Dan, tôi muốn thực hiện trong python thuần và đầu ra sẽ ở định dạng shapefile
—
Gianni
Cấp giấy phép ArcInfo của ArcMap có công cụ Fishnet nhưng bạn chưa cho biết bạn dự định tạo shapefile như thế nào.
Xin lỗi tôi không sử dụng Phần mềm thương mại. Tôi thích chương trình bằng ngôn ngữ thuần Java, Python, C ++.
—
Gianni
Nhưng bạn không phiền khi sử dụng một thư viện như GDAL / OGR ( pypi.python.org/pypi/GDAL ) hoặc pyshp ( pypi.python.org/pypi/pyshp )?
—
Snorfalorpagus