問題タブ [polygon]

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 投票する
2 に答える
5441 参照

polygon - 凹面のドロネー三角形分割から三角形を切り取るにはどうすればよいですか?

Delaunayを使用して凹多角形を三角形分割していますが、凹多角形が塗りつぶされています。ポリゴンの境界の外側にある三角形を自動的に削除するにはどうすればよいですか?

0 投票する
3 に答える
16809 参照

polygon - PostGISでは、ポリゴン内のすべてのポイントを見つけるにはどうすればよいですか?

OpenLayers、GeoServer などと一緒に、GIS 拡張機能を備えた PostgreSQL を使用してマップ データを保存しています。近隣などのポリゴンを指定すると、いくつかのテーブル (信号機、レストランなど) に保存されているすべての LAT/LONG ポイントを見つける必要があります。ポリゴン内にあります。あるいは、ポリゴンのセットが与えられた場合、各ポリゴン内のポイントのセットを見つけたいと思います(各ポリゴンを反復するのではなく、GROUP BY クエリのように)。

これらの関数はプログラムする必要がありますか、それとも機能は (拡張 SQL として) 利用できますか? 詳しく教えてください。

また、私が持っている単純な 2D データの場合、実際には GIS 拡張 (GPL ライセンスが制限です) が必要ですか、それとも PostgreSQL で十分でしょうか?

ありがとう!

0 投票する
3 に答える
6029 参照

mysql - MySQL で緯度、経度に近いポリゴンを取得する

ポイントから特定の距離内にあるMySQLデータベースのすべてのポリゴンを取得する方法を知っている人はいますか? 実際の距離は、見つかったポリゴンごとに後で計算されるため、それほど重要ではありませんが、「近い」ポリゴンに対してその計算を行うだけで、非常に最適化されます。

私は MBR を見て、関数を含んでいますが、問題は、ポリゴンの一部が非常に大きいため、ポイントの周りに描かれたバウンディング ボックス内に含まれていないことですが、それらの頂点の一部はまだ近くにあります。

助言がありますか?

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

python - ポリゴンはShapelyで複数のポイントに接触します

PythonのShapelyポリゴンのリストがあります。この方法を使用して、どのポリゴンタッチが簡単かを確認します.touches()Trueただし、ポリゴンが複数のポイントを共有している(つまり、境界線を共有している)場合にのみ返されるものが必要です。説明させてください:

この場合、ポリゴン0と1は2つのポイント(境界全体)を共有します。ポリゴン1と2は1つのポイントのみを共有します。私が探しているのは、上記の例で私に、、、または単にタッチポイントの数を返す何かを与える関数であり、Trueそれから私は残りのロジックを自分で行うことができます。FalseFalse

そしてもちろん、すべてのポイントを手動で反復することを含まないソリューションが最適です-それを行う必要がある場合、Shapelyを使用する目的をやや無効にします:-)

0 投票する
3 に答える
1919 参照

geometry - 自己交差/複雑なポリゴン内のポイント

2D ポイントがポリゴン内にあるかどうかを判断するにはどうすればよいですか? を読みました。しかし、解決策が内部セグメントによって中央に分割されているポリゴンに適用されるかどうかはわかりません。四角形の 8、または単純に 2 つの正方形を重ねたものを考えてみてください。いずれかの正方形の内側のポイントは確かにポリゴンの「内側」になりますが、交差数は、どちらの方向に行ったか (およびその内側のセグメントを交差したかどうか) によって異なります。

サンプルポリゴン

これに対処する1つの方法は、ポリゴンを2つの別々のポリゴンとして扱うことだと思います...(その場合、複雑なポリゴンをより単純なもののセットに分割するアルゴリズムが必要になりますか?)

それとも、私が説明したケースに対処するために、レイキャスティング アルゴリズムや別のポイント イン ポリゴン アルゴリズムに改良が加えられているのでしょうか?

0 投票する
3 に答える
1993 参照

math - マウスを使用した2Dポリゴンのスケーリング

Pythonベースの描画プログラムWhyteboard(https://launchpad.net/whyteboard)を開発しています

私は、ユーザーが描画するポリゴンを回転およびスケーリングできるようにする機能を開発しています。これが私の問題です:

すべてのポイントのリストを含むPolygonクラスがあり、最後に「閉じられています」。ユーザーは私のプログラムで描画された図形を選択できます。これにより、描画された図形が「強調表示」され、各ポイントで選択ハンドルが描画されます。これらのポイントを「つかんで」位置を変更したり、ポリゴンの形状を変更したりできます。

問題があります。ポリゴンに適用するサイズ変更の「スケール」を計算する方法を理解する必要があります。たとえば、(マウスを押したまま)ユーザーがマウスを図形から遠ざけることは「成長」アクションであり、マウスを図形に近づけると縮小する必要があります。

スケールを実行するためのコードがありますが(これは正しいと思います)、「適切な」スケーリング係数を作成できません。以下のコードは、答えに基づいて私が思いついたものです

/edit-これが解決されたコードです。

現在、このコードは私のポリゴンをすぐにゼロに縮小しているようで、マウスを少し動かしてもポリゴンは元に戻りません。時にはそれは反対のことをし、急速に成長します。しかし、縮むことはありません。

0 投票する
3 に答える
2067 参照

geospatial - 閉じた空間ポリゴンの作成

テスト目的で、(大規模な) 空間ポリゴンのセットを作成する必要があります。境界エンベロープ内にとどまるランダムな形状のポリゴンを作成するアルゴリズムはありますか? 私は OGC Simple を使用しているので、よく知られているテキストを作成するルーチンが最も便利です。選択した言語は C# ですが、それほど重要ではありません。

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

opengl - ポリゴンのアンチエイリアスを機能させるにはどうすればよいですか?

私はこれらの関数呼び出しを使用しています:

動作せず、レンダリングされません。

アンチエイリアスではありません。

0 投票する
4 に答える
21576 参照

c# - C#での不規則なポリゴンの面積の計算

C#で不規則なポリゴンの面積を計算する方法を「ダミー用」に書くことができましたが、任意の量の頂点に対して動的である必要があります

誰か助けてもらえますか?

クラス:

Form_Load:

dataGridView1.DataSource = verticies;

ボタンが押されたときに計算するコード:(4ポイントのポリゴン用にハードコードされています-任意の量にする必要があります...)

出力例:

X1 = 930.9729 Y1 = 802.8789

X2 = 941.5341 Y2 = 805.662

X3 = 946.5828 Y3 = 799.271

X4 = 932.6215 Y4 = 797.0548

X5 = 930.9729 Y5 = 802.8789

面積=83.2566504099523

0 投票する
6 に答える
8091 参照

geometry - 座標がポリゴンの内部に存在するかどうかを判断する

私はオープンソースの追跡およびジオフェンスソフトウェアアプリケーションに取り組んでおり、ジオフェンスの計算を理解するのに少し苦労しています。

ポリゴンの内側に座標が存在するかどうかを判断する必要があります。ただし、トリッキーな部分は、ポリゴンに設定された数の辺がないことです。50辺または5辺を計算できる必要があります。

私の調査によると、最も簡単な方法は、自分の点(xと呼びます)と多角形の外側の点(yと呼びます)を取り、線((xx、xy)、(yx、yy))がと交差するかどうかを判断することです。ポリゴンの境界。奇数回交差する場合、点xはポリゴンの内側にある必要があります。

ただし、これをアルゴリズムで表現する方法がわからないことを知っています。ポリゴンを構成するさまざまな線をループする必要があることは明らかですが、チェックを行うとわかりません。誰か助けてもらえますか?私は必ずしも解決策を求めているわけではないことをご承知おきください。答えを理解するのに役立つものはすべて、非常に役立ちます。

とても有難い。