タグ付けされた質問 「fiona」

FionaはOGRの新しい、きちんとしたPythonic APIです

3
RTree空間インデックスの結果、交差計算が速くならない
多くのShapely LineStringと交差するShapely Polygon / MultiPolygonを決定するために使用しているコードがあります。この質問への回答を通じて、コードは次のようになっています。 import fiona from shapely.geometry import LineString, Polygon, MultiPolygon, shape # Open each layer poly_layer = fiona.open('polygon_layer.shp') line_layer = fiona.open('line_layer.shp') # Convert to lists of shapely geometries the_lines = [shape(line['geometry']) for line in line_layer] the_polygons = [(poly['properties']['GEOID'], shape(poly['geometry'])) for poly in poly_layer] # Check for Polygons/MultiPolygons …

2
Geopandasポリゴンからmatplotlibパッチへのポリゴン変換
残念ながら、ジオパンダのプロットは非常に遅く、多くのリソースを必要とするため、プロットには代わりにmatplotlibを使用したいと思います。 純粋なフィオナを使用してシェープファイルを開いて読み取る場合、matplotlibパッチとしてポリゴンを抽出するのに問題はありませんが、今度はgeopandasデータフレームを使用してmatplotlibポリゴンを取得します。 私は現在次のようなものを使用しています: with FI.open(df_map_elements, 'r') as layer: for element in layer: key = int(element['id']) if key not in dict_mapindex_mpl_polygon.keys(): dict_mapindex_mpl_polygon[key]=[] for tp in element['geometry']['coordinates']: q = np.array(tp) polygon = Polygon(q) # matplotlib Polygon NOT Shapely matplotlibでポリゴンをプロットする場合: from matplotlib import pyplot as plt from matplotlib.patches import Polygon from matplotlib.collections import …


2
フィオナ:各フィーチャの範囲(境界)を取得する
フィオナで各機能の範囲を調べるために探していましたが、方法がわかりませんでした。 私は以下のようなことをするために遠くまで努力しました import fiona with fiona.open('countries/ne_10m_admin_0_countries.shp', 'r') as source: for f in source: geom = f['geometry'] print geom このためのメソッドをf変数レベルで取得することを期待していました。ドキュメントを読んだ後、fが純粋なpythonレコードであることがわかりました。最後に、Fionaを使用して各フィーチャジオメトリの範囲(または境界ボックス)を取得するにはどうすればよいですか? PS:私はすでに純粋なGDAL / OGR Pythonソリューションを知っているので、Fionaソリューションを期待してください
8 python  fiona 

2
PythonでOGRを使用してレイヤーを複製するより良い方法は?
ogrを使用して、大きなシェープファイルを多数の小さなシェープファイルに分割しています。元のフィールドとレイヤー構成情報をすべてコピーしたいのですが。これが私が今やっている方法です: src = ogr.Open('original.shp', 0) layer = src.GetLayerByIndex(0) driver = ogr.GetDriverByName('ESRI Shapefile') ds = driver.CreateDataSource('file1.shp') dest_layer = ds.CreateLayer('layer1', srs = layer.GetSpatialRef(), geom_type=layer.GetLayerDefn().GetGeomType()) feature = layer.GetFeature(0) [dest_layer.CreateField(feature.GetFieldDefnRef(i)) for i in range(feature.GetFieldCount())] これを行うためのより簡潔な方法はありますか?
8 shapefile  ogr  fiona 

3
OGRとPythonのデータ型の間のマッピング?
PythonでOGRを使用してシェープファイルを作成し、Pythonデータソースからオンザフライでフィールドを作成しています。新しいフィールドの作成にはOGRデータ型が必要ですが、OGRとpythonデータ型の間にマッピングはありますか? たとえば、これは標準です。 new_field = ogr.FieldDefn('MYFLD', ogr.OFTInteger) 理想的には: ogr_datatype = get_ogr_data_type(python_data) new_field = ogr.FieldDefn('MYFLD', ogr_datatype) 現在、変換はハードコーディングされています(たとえば、int = ogr.OFTInteger)。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.