入力ファイルが都市部である交差点の関数を作成しようとしています。クエリ ボックスを使用して、そのクエリ ボックスで見つかった建物だけを含む交差点を持つ出力ファイルを作成します。
import matplotlib.pyplot as plt
import matplotlib as mpl
from mpl_toolkits.basemap import Basemap
import fiona
import fiona.crs
import rtree
input_file = 'se_england_clean.shp'
out_file = 'se_england_out'
file_index = 'Rtree_index_east.idx'
query_box = [-0.0957870483,51.5134165224,-0.08664608,51.5192383994]
def write_clipped_file(name_file_in, out_file, file_index):
idx = rtree.index.Index(file_index)
idx.insert(0, (input_file))
list(idx.intersection((query_box)))[0]
count = 0
with fiona.open(input_file, 'w') as out_file : #?
for building in out_file: #?
私のコードが今のところ正しいかどうかはわかりませんが、差し迫った問題が 2 つあります。まず、入力シェープファイルと、出力で生成したい新しい (クリップされた) シェープファイルを Fiona で開く方法がわかりません。インデックスのリストを循環させ、目的の建物を選択し、それらを新しいファイル 'out_file' に書き込みたいと考えています。次に、エラーが発生します。
RTreeError: Coordinates must be in the form (minx, miny, maxx, maxy)