問題タブ [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.

0 投票する
1 に答える
19666 参照

python - ラインとポリゴンの交点 | パイソン格好良い

ラインとポリゴンの交点を見つけるためにシェイプリーを使用しようとしていますが、いくつかの浮動小数点数に問題があります。

コード例:

私が期待するのは、2 つの頂点のリストです。

ポイント 1: ポリゴンの内側にあるポイント、またはこの場合は (4.0, -2.0000000000000004)。

ポイント 2: [(4.0, -2.0000000000000004), (2.0, -1.1102230246251565e-15)] と [(3.0, -3.0), (4.0, -2.0)] の交点。

ただし、私が受け取る結果は次のとおりです。

また、見ているエッジとの交差があるかどうかも確認しました。

(4.0, -2.0000000000000004) を (4.0, -2.000000000000000) に置き換えると、エッジの交差は True と評価されます。

何が起こっているのか、何が欠けているのか、誰にもアイデアがありますか? ありがとう!

ここに画像の説明を入力

編集:

私は格好の良いバージョン 1.12 と 3.3.1、3.3.5、3.3.6、3.3.7 の geo を使用してテストしました。

Windowsでgeosバージョンをどのように更新したかについて誰かが興味を持っている場合:

GEOS Web サイトから geos-[バージョン].tar.bz2 をダウンロードしました。ファイルを抽出し、Visual Studio 10 Win64 ジェネレーターを使用して CMake を実行しました。.sln ファイルを開いてビルドし、生成された geos_c.dll を移動して、geos_c.dll が Python ディレクトリに適切にインストールされた場所に貼り付けました。

0 投票する
2 に答える
62528 参照

python - シェイプリーとのポリゴン交差のより高速な方法

多数のポリゴン (〜 100000) があり、通常のグリッド セルを使用して交差領域を計算するスマートな方法を見つけようとしています。

現在、(コーナー座標に基づいて) shapely を使用してポリゴンとグリッド セルを作成しています。次に、単純な for ループを使用して各ポリゴンを調べ、近くのグリッド セルと比較します。

ポリゴン/グリッド セルを説明するためのほんの一例です。

(ところで: グリッド セルの寸法は 0.25x0.25 で、ポリゴンは最大で 1x1 です)

実際、これは個々のポリゴン/グリッド セルの組み合わせで約 0.003 秒と非常に高速です。ただし、このコードを大量のポリゴン (それぞれが数十のグリッド セルと交差する可能性がある) で実行すると、私のマシンでは約 15 分以上 (交差するグリッド セルの数によっては最大 30 分以上) かかります。残念ながら、ポリゴン交差のコードを記述して重複領域を取得する方法がわかりません。ヒントはありますか?格好良いに代わるものはありますか?

0 投票する
1 に答える
534 参照

python - Flask と Shapely を使用して heroku でアプリを実行できない

Shapely python ライブラリを必要とする小さなアプリを開発しました。.exe ファイルを介して Windows にインストールしたので、必要な DLL ファイル ( geos.dll 、 geos_c.dll ) が Python27\Lib\site-packages\shapely\DLLs に自動的に配置されます。

私のボックスにvirtualenvを作成しようとしたとき、pip経由で格好よくインストールしましたが、それらのDLLファイルを配置しなかったため、次のエラーが発生しました:

したがって、virtualenv\Lib\site-packages\shapely\DLLs フォルダーにあるこれら 2 つの DLL ファイルを手動で置き換えたところ、機能しました。

今、私はherokuにアプリをデプロイしようとしていますが、次のエラーのために失敗しました:

したがって、これらの2つのDLLファイルが存在しないためにクラッシュすると想定しました。これら2つのファイルを別のフォルダーにコピーし、git経由でプッシュしました

これらの 2 つのファイルを Python 環境にコピーするために、アプリのルートに .profile ファイルを作成しました。

。プロフィール

それでもアプリは同じエラーでクラッシュします。

誰でもこれで私を助けることができますか?

0 投票する
2 に答える
968 参照

python - 見栄えの良い parallel_offset が見つかりません

Shapely を使用しようとしていますが、見つからparallel_offsetないようです。例にあるインポートを含めましたが、認識されませんparallel_offset

そして私は得る:

私は何を間違っていますか?

0 投票する
1 に答える
783 参照

python - __eq__ を格好良く実装する方法 (python)

shapelyと operator の使い方について質問があり==ます。幾何学的オブジェクトの等価性をテストする関数が存在します: .equals(). ただし==、機能しません。

True を返します。

でも:

False を返します

==演算子を使用してPoint、 a がリストに既に存在するかどうかを確認できるようにしたいと考えています。1 つの使用例は次のとおりです。

私が理解している限り、これは を==返すため機能しませんFalsein関数を使用する代わりの方法があることは知っていますが、次のキーワードを使用しany()たいと思います。in

に実装__eq__するのは大変な作業shapely/geometry/base.pyでしょうか? のこの単純な実装についてどう思います__eq__か?

また

0 投票する
1 に答える
2344 参照

python - ベースマップとデカルトを使用したプロットで PolygonPatch が表示されない

次のように、Shapely バッファリングされたポイントをいくつかプロットできます。

これにより、次のプロットが得られます。

ここに画像の説明を入力

ただし、Basemap を使用してこれらのポイントをプロットしようとすると、表示されません。

ここに画像の説明を入力

私は何を間違っていますか?