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

(1)抽象幾何学; (2)地理データを投影座標で保存する。(3)ベクトル特徴の総称ESRI用語。「geometry」オブジェクトのクラス。

3
QGISを使用してポリゴンを反転しますか?
世界の陸地(大陸、島)を表すポリゴンフィーチャを含むシェープファイルがあります。 これらを反転させ、世界の海と海を表すジオメトリを取得することは可能ですか? したがって、元のランドポリゴンは、惑星をカバーする単一のグローバルポリゴンのリングになる必要があります。 基本的には、Photoshopで選択>反転のようなものを探しています。 QGISを使用しています。

3
SQL ServerジオメトリBLOBから他の何かに変換する方法は?
エクスポートされたSQL ServerテーブルであるサードパーティからのCSVデータファイルがあります。彼らは単にselect * from foo結果をテキストファイルに出力し、それを送信しました。 テーブルにはGeometryタイプの列があるので、生のテキストには「0xE610000010C47 ...」などがあります。現時点では、SQL Serverのテーブルにnvarcharとしてロードしています。 私は自分の側でGeometryフィールドに戻ることができると予想していましたが、それはそれほど簡単ではないようです。 STGeomFromWKB実際にはWKBではないため機能しません。文字列をGeometryとしてキャストできません。WKTではないと文句を言うからです。 それでは、この値を通常のGeometry BLOBのようにSQL Serverに取得する方法はありますか?SQL Serverにそのように処理するように指示できますか? このリンクを見つけて、少なくともSQL Serverの内容に関する質問に答えることができましたが、そこまでは行きませんでした: SQLServer 2008のGeometryデータ型の形式は何ですか

1
分岐した多角形の形状を検出しますか?
何百万ものポリゴンが連続したカバレッジを持つベクターレイヤーがあります。形状に応じて分類する必要があります。私はすでにコンパクト(のような景観生態学からいくつかの形状インデックスを使用しています4piA / P ^ 2)、平均幅(2A / P)、形状番号(P / SQRT(A) )、私も見ました、この答えをするの丸み/コンパクトさを計算しますポリゴン? 私の問題は、これらすべてのメトリックが面積と境界のある比率のみを使用していることです。フラクタル次元インデックスでさえ、面積と周囲長(2ln(0.25P)/ ln(A))のみを使用しています。しかし、面積と周囲長が同じで形状がまったく異なる2つのポリゴンをどのように区別できますか?この分岐ポリゴンAのように: 曲線ストリップBと同じ面積と周囲で描画しようとしました。既知のインデックスはすべて同じです。しかし、私にとっては、単純なストリップ(新月のような曲線を含む)と複雑な分岐形状を区別することが非常に重要です。 多角形Bを意図的に直線ストリップではなく曲線ストリップとして表示します。これは、直線の細長い形状を検出する関連円インデックスを知っているためですが、私の多角形も同じ外接円を持っている可能性があります。凸包を構築し、面積Apolygon / Aconvexの比率を計算しても、ここでは非常に似ているかもしれません。 それでは、ベクターデータで分岐ポリゴンAとポリゴンBを自動的に明確に区別するにはどうすればよいですか?(ラスターに変換するには、非常に小さいセルサイズ、膨大なデータセット、メモリ不足が必要になるため、不可能です)。他のパラメーターを含む他の形状インデックスはありますか?理想的には、この方法は明確に分岐したポリゴンだけでなく、CとDを区別するでしょう: 私の唯一のアイデアは、凸包を構築し、その凸包からポリゴンを消去し、残された(大きな)ピースの数をカウントすることです(レイヤー全体ではなくポリゴンごとにポリゴンを消去します)。これは、ボーダーの複雑さを示している可能性があります。 後でPythonで実装する数学的な解決策/アルゴリズムを歓迎します。

2
奇妙な形のポリゴンの重心座標
QGISで特定のポリゴンの重心を計算する際に問題があります(ジオメトリツールを使用):特定のポリゴン-奇妙でかなり長い形状の場合-計算された重心はポリゴンから外れています。たとえば、下の図の赤でマークされたポリゴンを見てください。 その重心(青い矢印で示されています)は、実際には対象のポリゴンの外側にあります。これは、少数の(まだ厄介な)他のポリゴンで発生します。 私はQGISが比較的新しいので、この問題がシェープファイルとポリゴン(WGS 84)の投影によるものかどうかは考えていません。とにかく、ベルギー(私が見ている国)に対応するWGS84 / UTMゾーン31で地図を再投影してみました。 私は過去の議論で同様の質問に対する答えを見つけていません。誤って見落とした場合は申し訳ありません。

5
道路ネットワークをQGISの六角形グリッドにスナップする方法は?
QGIS 2.14を使用して道路網を六角形のグリッドにスナップしようとしていますが、奇妙なアーティファクトが発生しています。 MMQGISで六角グリッドを作成しました。セルは約20 x 23 mです。道路ネットワークを1mバッファリングし、数メートルごとにノードがあるように高密度化しました。私が達成しようとしていることを以下で見ることができます。あなたが見ることができるように、私はいくつかのケースでそれを動作させることができます:- 青は緻密化された道路(緩衝線) 赤は「hexified」バージョンです-これは私が見つけたいものです 灰色は六角形のグリッドです 次に、新しいスナップジオメトリ機能を使用して、ノードを最も近い六角形の角にスナップしました。結果は有望ですが、ラインが六角形(またはその一部)を埋めるために広がるいくつかのエッジケースがあるようです: バッファの理由は、ジオメトリのスナップではジオメトリが異なるレイヤーにスナップできないためです。たとえば、LINEレイヤーのノードをPOINTレイヤーのポイントにスナップすることはできません)。POLYGONをPOLYGONにスナップするのが一番幸せそうです。 バッファリングされた道路線の片側がヘックスセルの片側にジャンプし、反対側がヘックスセルの反対側にジャンプすると、道路が広がると思います。私の例では、鋭角に西から東に交差する道路は最悪のようです。 私が試したもの、成功なし:- 道路ネットワークをわずかにバッファリングするため、ポリゴンのままですが、非常に薄いです。 六角セルの密度を高める(したがって、コーナーだけでなくエッジに沿ってノードがある) 最大スナップ距離の変更(これは最大の効果をもたらしますが、理想的な値を見つけることができないようです) POLYGONではなくLINEレイヤーを使用 LINEレイヤーのみを使用するように変更すると、しばらく機能し、その後クラッシュすることがわかりました。作業をそのまま保存しているようです-一部の行は部分的に処理されています。 理想的にはpostgres / postgisを使用する必要なしに、ライン上のポイントを別のライン/ポリゴンレイヤー上の最も近いポイントにスナップする他の方法を知っていますか(postgisを使用したソリューションも歓迎します)。 編集 試してみたい人のために、ここでDropboxにスターターQGISプロジェクトを配置しました。これには、Hex GridおよびDensified Linesレイヤーが含まれます。(道路ネットワークはOSMからのものであるため、QuickOSMを使用してダウンロードすることができます。たとえば、道路を高密度化するためにオリジナルを取得する必要がある場合)。 OSGB(epsg:27700)であり、単位はメートルで、英国向けにローカライズされたUTMであることに注意してください。

5
どのような詳細な空間データベースシステムチュートリアルが存在しますか?[閉まっている]
閉じた。この質問はより集中する必要があります。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集するだけで1つの問題に焦点を当てるように質問を更新します。 3年前に閉店しました。 GISの内部とPostGISなどの空間データベースシステムについて、例を使用して背景の前提なしに詳細に説明する良いチュートリアルはありますか?私は特に次のような質問への回答を探しています: GISのジオメトリとは何ですか? それはどのように表されますか? 緯度/経度座標が指定されている場合、ST_contain PostGISのようなものを呼び出してポリゴンに緯度/経度座標が含まれているかどうかを確認できる状態にするために、実行する必要がある操作は何ですか? 私は一般的なリレーショナルデータベースシステムである程度の経験がありますが、GISまたは空間データベースパラダイムのバックグラウンドはありません。

4
ポリゴンの自己交差、解決方法
自己交差するポリゴンシェープファイルの修復について質問があります。自己交差機能を持つポリゴン(ZM)を含むシェープファイルがあります。「ジオメトリの修復」ツールを使用すると、いくつかの自己交差が検出され、修正されます。ほら! しかし、このファイル(またはその選択)をエクスポートすると、このエクスポートには再び自己交差が含まれます。これは、次のような問題を処理するために行ったすべての試行で発生します。 失敗したツール「ジオメトリの修復」を使用してください。 すべての属性に基づいてポリゴンを溶解しますが、失敗しました。 ZMプロパティを破棄し、上記のすべてを実行すると、失敗します。 ArcCatalogを使用してこのシェープファイルをジオデータベースにインポートしても、正しくインポートされますが、データベースからエクスポートすると、自己交差が再び存在します。 したがって、この問題を修正する方法についてのアドバイスは大歓迎です。このタイプの動作が存在する理由を誰かが説明できれば、それは素晴らしいことです。 ArcGIS 9.3.1 build 4000(SP2)を使用しています。

5
ポリゴンフィーチャの展開のシミュレーション
興味深い質問になりたいと思っています。湾岸の石油流出データを使用して一般的なベクトルベースの空間解析手法(バッファー、オーバーレイなど)を導入するGIS入門コースの課題に取り組んでいます。 Deepwater Horizo​​nのオイルは所定の日に流出し、私はバッファーでその膨張をシミュレートしています。 それは概念を説明する仕事をしますが、確かに現実的な結果を提供しません。オイルが膨張するにつれてさまざまな方向にオイルを誘導する電流の効果を模倣/偽造し、均一性の低い結果をもたらす方法でこれをどのように行うことができるかについて考えました。 一般的な意味で、入力ポリゴンフィーチャが与えられた場合に以下を実現するワークフローを探しています。 指定された面積(10平方kmなど)または指定された係数(5%など)だけ元よりも大きい新しいポリゴンフィーチャを作成します。 新しいポリゴンフィーチャの形状は任意ですが、次の点に注意してください... 新しいポリゴンフィーチャには、元のポリゴンフィーチャが含まれます(この点は、取引を中断するものではありませんが、お勧めします) 実際のソリューションでは、海流や流体力学などのモデリングが必要になりますが、これは私がやろうとしていることの範囲外になります(これを組み込んだソリューションは確かに歓迎され、興味深いものになるでしょう)。しかし、このアイデアは、根本的な空間問題についての私の好奇心をそそり、そこにどんな解決策があるのか​​興味があります。私は1つの解決策を考えていますが、他の人がどのような解決策を持っているかを知りたいです。 私はESRIの世界で働いていますが、他のパッケージ/プラットフォームを含むソリューションは大歓迎です(ただし、テストすることはできないかもしれません)。一般的なアルゴリズム、擬似コード、およびコードも同様に問題ありません。
13 geometry  buffer 

1
最小境界ボックスアルゴリズムの変更
最小バウンディングボックスに似たアルゴリズムを作成しようとしています(ただし、最終的には似たようなものにならない場合があります)。この場合、角度はパラメーターとして渡され、角度を指定すると、すべてのポイント/ポリゴンをカバーする最小の長方形が必要になります。これまでの私の考えは、ポイントの中心を見つけることです(セントロイドアルゴリズム)。そこから、パラメーターの角度と同じ角度の2本の平行線と、それらに垂直な2本の線を作成します。次に、反復を使用して、これらの線がすべてのポイントを含むまで外側(反対方向)に移動します。また、厳密な最小バウンディングボックスである必要はなく、おおよその動作です(各反復ステップのサイズに依存すると思います)。 これが私のコードです。すでにすべてのポリゴンを1つに分解しています。次に、凸包を使用して頂点を減らします。次に、すべての頂点をリストに入れます-これがまだ役立つかどうかわかりません... a = layer.getFeatures() for feat in a: geom = feat.geometry() a = geom.convexHull() vertexId = QgsVertexId() vertices = [] b = a.constGet().nextVertex(vertexId) while b[0]: vertices.append(b[1]) b = a.constGet().nextVertex(vertexId) 注:ある時点で、ボックスの角度を渡す必要があります。QGIS 3を使用していますが、これをPythonで作成する必要があります。レイヤー「レイヤー」には、他のすべてのポリゴンのディゾルブされたポリゴンという1つのジオメトリがあります。アクセスするために反復が必要ない場合があります。 詳細/情報をお伝えする必要がある場合はお知らせください。

2
ジオメトリと$ geometry QGISの違い
これは些細な質問かもしれませんが、私は混乱しています。QGISのジオメトリと$ geometryの違いは何ですか?この関数の使用例は見つかりませんでした。 特に幾何学に興味がありますが、どのような場合に役立ちますか?
12 qgis  geometry 

2
Pythonを使用してストレートスケルトンを計算する方法は?
ストレートスケルトンアルゴリズムの実装を提供するPythonパッケージはありますか? オープンソース(C ++)プロジェクトCGALには実装が含まれていることは承知していますが、cgal-bindingsにはこのCGALパッケージが含まれていないようです。 いずれにせよ、私は自分のニーズに合わせて修正/拡張できる純粋なPython実装を好むでしょう。 穴のあるポリゴンを処理できる実装が望ましいが、厳密に必要というわけではない。

2
マルチポイントとポイントPostGIS
1つのポイントのみを格納するために使用することを知っているため、「ポイント」の代わりに「マルチポイント」のジオメトリタイプを使用するのは正常ですか? マルチポイントからポイントに変換するにはどうすればよいですか?

1
Python:ポリゴンの「内部重心」(アークマップではlabelPointとも呼ばれます)を計算する方法を見つけます
(不規則な)ポリゴンの内側のポイント(アークマップではlabelPointとも呼ばれます)のX、Y座標を計算する方法を探しています。ArcGISモジュールを使用せずに解決策を見つけようとしています。 「重心」とlabelPointの違いは、重心が多角形の外側にある可能性があることです。 形の良いモジュールを使用しています shapely.geometryインポートポリゴンから ref_polygon = Polygon(points) # get the x and y coordinate of the centroid ref_polygon.centroid.wkt 'POINT (558768.9293489187300000 6361851.0362532493000000)' 次のデータ(ポリゴンの頂点)を使用します ヘルプと提案を事前に感謝します points = [(560036.4495758876, 6362071.890493258), (560036.4495758876, 6362070.890493258), (560036.9495758876, 6362070.890493258), (560036.9495758876, 6362070.390493258), (560037.4495758876, 6362070.390493258), (560037.4495758876, 6362064.890493258), (560036.4495758876, 6362064.890493258), (560036.4495758876, 6362063.390493258), (560035.4495758876, 6362063.390493258), (560035.4495758876, 6362062.390493258), (560034.9495758876, 6362062.390493258), (560034.9495758876, 6362061.390493258), (560032.9495758876, …

2
入力緯度経度に最も近い緯度経度を検索する(SQL Server 2008)
データベース(SQL Server 2008空間)に点群があります。これは約600万件のレコードです。3つの列があります:id、value、geom。入力緯度経度で「値」を取得する最適な方法は何ですか? SQL Server 2008の空間クエリは初めてです。誰かがgeom列のポイントを見つける簡単な例を投稿できますか。


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.