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

Shapelyは、地理情報システムに共通の2D平面幾何オブジェクトの構築と分析のためのオープンソースのPythonパッケージです。

1
共有エリアの平均線ストリングで2つの交差するポリゴンを分割する方法(QGIS / python shapely)
2つのポリゴンがあります。 POLYGON((-5 -5、-5 5,5 5,5 -5、-5 -5))POLYGON((1 1、1 7、7 7、7 1、1 1)) そしてそれらを均等に分割したいと思います。結果は赤いマークされたラインに沿って分割されます。 私はqgis / pythonを使用していますが、pythonを使用したいと思っています。

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 …

3
Shapelyポリゴンの小さなポリゴンギャップを削除しますか?
この問題は以前に別のソフトウェアで対処されていることはわかっていますが、Shapelyでどうすればよいですか? シェイプの内部に非常に小さなギャップがあるポリゴンがあります。 これがクローズアップです: ポリゴンは有効であるため、バッファトリックを使用できず、ポリゴンの単純化も機能しません。


1
GROUPBYを使用してx、y座標のGeoDataFrameを折れ線に変換しますか?
複数の異なるエンティティがたどるパスに沿ったポイントを表すX、Y座標のデータフレームがあります。ここでは疑似データですが、おおよその形式です: entity_id lat lon time 1001 34.5 14.2 4:55 pm 1001 34.7 14.5 4:58 pm 1001 35.0 14.6 5.03 pm 1002 27.1 19.2 2:01 pm 1002 27.4 19.3 2:08 pm 1002 27.4 19.9 2:09 pm 私がしたいことはentity_id、これらのポイントをでグループ化し、ポイントを順番に並べて、LineStringそれぞれのオブジェクトを作成することですentity_id。出力は、それぞれがに対応する複数のライン/パスになりますentity_id。 これを行うにはentity_id、各ポイントをループentity_idし、ここに記載されている手順を使用しますが、GeoPandasまたはShapelyを利用してこれを行うためのより高速で効率的な方法はありgroupbyますか?

2
Geopy / Haversineとは異なる距離
特定の分析を実行して、ポイント(店舗の場所)の周囲にバッファーを作成し、そのバッファー値内に他のポイント(ユーザーの場所)が存在するかどうかを確認します。シェイプを使用して距離を確認すると、geopyから取得した距離とは異なることがわかります。hasrsineの式はGeopyと一致し、距離の測定機能を使用したGoogleマップのチェックでもほぼ同じ距離が得られます 次に例を示します。 from shapely.geometry import Point, shape from pyproj import Proj, transform from geopy.distance import vincenty, great_circle pt_store=Point(transform(Proj(init='EPSG:4326'),Proj(init='EPSG:3857'),-76.799614, 39.435307)) pt_user=Point(transform(Proj(init='EPSG:4326'),Proj(init='EPSG:3857'),-76.79989,39.43604)) vincenty((39.435307,-76.799614),(39.43604,-76.79989)).meters great_circle((39.435307,-76.799614),(39.43604,-76.79989)).meters pt_store.distance(pt_user) Vincenty:84.77847691521336 Great_circle:84.90640111682812 格好の良い:110.02637304449682 半正矢式(http://www.movable-type.co.uk/scripts/latlong.html):84.88 どちらが正しいですか?格好良いですか?また、このような大きな違い(〜22%)が予想されますか?それとも何か不足していますか?


2
PythonライブラリShapelyで使用するためのKMLファイルの変換
KMLファイル(wijken.kml)をShapelyに取得しようとしています。KMLファイルは適切なXMLスキーマに対して検証されるので、入力は正しいと思います。 私が試したルート: 1)WKTまたはWKB形式に変換し、組み込み関数で読み込む 変換: ogr2ogr -f CSV wijken.csv wijken.kml -lco GEOMETRY=AS_WKT ogr2ogr -f SQLite wijken.wkb wijken.kml 形に: from shapely import wkt, wkb f = open('../kml/wijken.wkb') wkb.load(f) これは(と同じwkt())を与えます: ReadingError: Could not create geometry because of errors while reading input. それはそれ以上の情報を提供せず、Pythonコードは他の(C?)ライブラリをラップするため、フォーマットの何が問題なのかわかりません。CSVファイルには複数の列が含まれていますが、おそらくそこに何か問題がありますが、テストできる同等のオンラインWKTの例が見つかりません。 2)GeoJSONに変換し、Shapely asShape関数でビルドを使用する ogr2ogr2 -f GeoJSON wijken.json wijken.kml 形に: import json from …
8 geojson  kml  wkt  shapely  fastkml 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.