問題タブ [shapely]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - ポリゴンはShapelyで複数のポイントに接触します
PythonのShapelyポリゴンのリストがあります。この方法を使用して、どのポリゴンタッチが簡単かを確認します.touches()
。True
ただし、ポリゴンが複数のポイントを共有している(つまり、境界線を共有している)場合にのみ返されるものが必要です。説明させてください:
この場合、ポリゴン0と1は2つのポイント(境界全体)を共有します。ポリゴン1と2は1つのポイントのみを共有します。私が探しているのは、上記の例で私に、、、または単にタッチポイントの数を返す何かを与える関数であり、True
それから私は残りのロジックを自分で行うことができます。False
False
そしてもちろん、すべてのポイントを手動で反復することを含まないソリューションが最適です-それを行う必要がある場合、Shapelyを使用する目的をやや無効にします:-)
python - Python: Shapely オブジェクトを DXF ファイルにエクスポートする
Python用パッケージをbuffer
使用したポイント上の関数などの空間操作から得られた結果を DXF ファイルにエクスポートする方法を教えてください。ところで、今回はグーグルはあまり役に立ちませんでした。Shapely
python - 形の良い交差: 平行な平面
私は 2 つの 3D オブジェクト (三角形の面) 間の関係 (境界/内部交差) の決定に取り組んでおり、独自のポイント/セグメント/レイ/三角形交差関数を実装する代わりに使用することに興味があるShapelyに遭遇しました。
ただし、次の問題が発生しています。
私が遭遇しているように見える問題は、2 つのポリゴンが 2D 直交投影 (同じ三角形) で等しいが、異なる平面 (1 つは Z=1、もう 1 つは Z=0) にあるということですが、Shapely はそれらが等しく、交差します。
3 次元で見栄えを良くするために欠けている魔法はありますか? 私はグーグルで調べてきましたが、これまでに見たすべての例は 2 次元でしかありません。
python - Shapelyのインストール時にOSError geos_cが見つかりませんでした
私は Python で地図を作成/プロットする初心者で、このブログ投稿に従って世界地図を生成しようとしています (http://sciblogs.co.nz/seeing-data/2011/08/12/plotting-geographic- data-on-a-world-map-with-python/)。ここでいくつかのことに行き詰まりました:
Basemap (地理的投影でデータをプロットするための Matplotlib 拡張機能) をインストールします。
/li>Shapely をインストールしますが、次のエラーが発生します [1]:
次に、geos.py ファイルに入り、geos.dll のすべての参照を geos_c.dll に変更します。これは、次のリンクで推奨されています: http://osgeo-org.1560.n6.nabble.com/osgeo4w-258-問題-with-python-shapely-python-2-7-2-td4336816.html
ただし、同じエラー [1] が発生します。
Python 2.7.1 と Mac OS 10.7.4 を使用しています。追加情報を提供できるかどうかお知らせください。ここのコミュニティからのガイダンスに本当に感謝しています! ありがとう!
[1]
python - Shapely のポリゴン交差エラー: 「shapely.geos.TopologicalError: 操作 'GEOSIntersection_r' により null ジオメトリが生成されました」
この問題をデバッグしようとしましたが、できません。Polygon
2 つのオブジェクトの交点を見つけようとしています。ほとんどの場合は機能しますが、次の場合は次の例外が発生します。
コードは次のとおりです。
2 つのポリゴンの面積が出力されるので、ポリゴンは正しく形成されていると思います。また、(どういうわけか) 最初のポリゴンを印刷して、それが実際に単純なポリゴンであることを確認しました。
この例外が発生する理由を誰か説明してもらえますか?
編集: p1.is_valid を印刷したところ、False であることが判明しました。ここにいくつかの説明があります。文字列 を検索しますis_valid
。それは言う
有効な Polygon は、重複する外部リングまたは内部リングを持つことはできません。
誰かがこれが何を意味するのか、そして可能な回避策があるかどうかを説明してもらえますか? ところで、最後の座標を から削除すると、すべてが機能することにも気付きましたpoly1
。おそらく、座標のリスト全体が多角形を複雑にしています。
python - Shapelyを使って楕円を描く
Shapelyをコードに統合していますが、いくつかの異なる種類の幾何学的オブジェクトを処理する必要があります。私のニーズのほとんどは、Lines、Polygons、および LineStrings で満たされていますが、楕円を使用する必要があります。楕円を線に離散化することなく、境界ボックスまたは半軸によって Shapely で楕円を作成する方法はありますか?
python - Windows 64 上の Python、GEOS、および Shapely
Windows 64 ビット コンピュータに Shapely をインストールしようとすると、GEOS ライブラリが機能しません。
これまでのところ、GDAL をインストールした OSGeo4W インストーラーを実行しました (そのパッケージには geos ライブラリーが含まれていると思います)。その後、確認したところ、C:\OSGeo4W\bin
ディレクトリに geos_c.dll がありましたが、いくつかの構成手順を見逃したか、ライブラリが機能しません。
動作するには Shapely が必要なので、pip install shapely
GDAL をインストールした後に実行したところ、明らかに動作しました (ただし、GEOS の C ライブラリは見つかりませんでした)。
私のコードでは、Shapely をインポートできますが、使用しようとすると、"geos.dll"
見つからないというエラーが表示されます。
これに関するヘルプは非常に高く評価されます。ありがとう!
python - 2つのShapelyオブジェクトをマージする方法は?
Pythonプロジェクトで2つのShapelyオブジェクトをマージしようとしています。Shapelyのいくつかの機能を説明する一種のマニュアルがありますがcascaded_union()
、私はポリゴンに対してのみ機能します。このshapely.ops.unary_union()
方法は他のジオメトリでも機能するはずですが、機能させることができません。
一言で言えば:2つのLinearRingオブジェクトをマージするにはどうすればよいですか?
python - Shapelyの既存のポリゴンに新しいポイントを追加します
既存のポリゴンを変更するにはどうすればよいですか?まず、その外観にポイントを追加したいと思います。
poly = Polygon([(0, 0), (1, 1), (1, 0)])
私はこのようなものを探していました:
poly.append_at(idx=3, Point(1, -1))
しかし、私はこれを行うための同様の方法さえ見つけることができません。