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

機能が重複している場所に関連する質問をするときに、このタグを使用します。

8
PostGISで交差しないフィーチャを選択します
これは私にはそのような単純な質問のように思えます(おそらくそうです)が、答えを与える例を見つけることができないようです。PostGISを使用して、ポリゴンの外側にあるポイントを選択したいだけです。最終的に、これはST_Intersectsの逆であり、私が見る限りです。 例:タックスロットレイヤーと住所ポイントレイヤーがあります。ST_Intersectsを使用する必要があると思いますが、逆選択を行うようにするにはどうすればよいですか?次のコードの前にNOTステートメントを追加することも考えられましたが、うまくいきませんでした。 CREATE table t_intersect AS SELECT hp.gid, hp.st_address, hp.city, hp.st_num, hp.the_geom FROM public.parcel as par, public.housepoints as hp WHERE ST_Intersects(hp.the_geom,par.the_geom);

4
PostGISを使用して交差に基づいてポリゴンを分離する
いくつかが互いに交差するポリゴンのPostGISテーブルがあります。これは私がやろうとしていることです: idで選択された特定のポリゴンについて、交差するすべてのポリゴンを教えてください。基本的に、select the_geom from the_table where ST_Intersects(the_geom, (select the_geom from the_table where source_id = '123')) これらのポリゴンから、交差が新しいポリゴンになるように新しいポリゴンを作成する必要があります。したがって、ポリゴンAがポリゴンBと交差する場合、AマイナスAB、AB、およびBマイナスABの3つの新しいポリゴンが得られます。 何か案は?

3
QGISの交差ツールで無効な入力機能を無視しますか?
QGIS 2.18では、ベクター>ジオプロセシングツール>交差ツールを使用したときに、「NULLジオメトリを無視する(オプション)」というオプションをチェックすることができました。 QGIS 3.2をダウンロードしましたが、そのオプションはもう存在しません。しかし、作業中の2つのレイヤー間の交差点を作成しようとすると、どこかに無効なジオメトリがあり、それを修正するか、「処理設定を「無効な入力フィーチャを無視する」に変更する必要があるというメッセージが表示されます'オプション。 " しかし、そのオプションは存在しません!または、存在する場合は、どこにも見つかりません。 QGIS 3.2でこの設定を変更する方法/場所を知っている人はいますか?

8
何千もの小さな重なり合うポリゴンを修正しますか?
ArcMap 10.3を使用しています。 さまざまな土地利用タイプのレイヤーがあります。多くのポリゴンが互いに重なり合っているため、同じポリゴンに2つの異なる土地利用タイプがあることがわかりました。 @radouxjuの答えを使用して、土地利用レイヤーのトポロジを構築しました(重複禁止ルールを使用)。次に、マージを使用して、大きな重なり合うポリゴンを修正しました。 しかし、私は何千もの小さな重なり合うポリゴンを持っています。すべてを手動で修正できますが、時間がかかります。 これらすべてのエラーを修正するより速い方法はありますか? マップを更新して、すべての土地利用タイプを表示しました。ポリゴンは互いに重なり合っています。スライバーではありません。

5
2つのポリゴンがPythonで交差しているかどうかを確認しますか?
Pythonで2つのポリゴンが交差するかどうかを判断するのに役立つアルゴリズム、高レベルのソリューション、またはライブラリを探しています。 2つの異なる配列に2つのポリゴン(これらは穴のない単一パーツポリゴンです)の頂点があります。ポリゴンは2Dです(XおよびY座標のみ) これらの2つのポリゴンが交差するかどうかを示すブール値を返す関数を作成します。 私はarcpy、またはarcgisこのコンポーネントを使用できないことに注意してください。 これを行うためのアルゴリズムまたはライブラリを提案できますか?

4
交差するポリゴンを同じフィーチャの一部であるものにマージします
私はGISの専門家ではないので、正しい表現を使用することを望みます。少なくとも私の質問を理解してくれることを望みます。 フィーチャーAに5つのポリゴンがあるとしましょう。シェープファイルには、さらに多くのフィーチャーがあります。フィーチャAでは、5つの既存の2つのポリゴンが交差しています。重複するラインが削除され、結果が1つのポリゴンになるように、2つをマージします。 可能な解決策は次のように機能します。 5つのポリゴンすべてを「アクティブ化」する機能を選択します 編集モードに切り替えます 2つのポリゴンのポイントを選択します 関数MERGE-SELECTED-POLYGONSを使用します これまでのところ、オブジェクト(機能?)のマージ、シェープファイルのマージなどの機能のみが見つかりました。 MERGE-SELECTED-POLYGONS関数はありますか?

2
Rで交差領域を抽出する
2つのポリゴンがあります。1つにはフィールド(X、Y、Z)が含まれ、もう1つには土壌タイプ(A、B、C、D)が含まれます。すべてのフィールドのどの領域にどのタイプの土壌が含まれているかを知りたい。私は次を試しました: library(rgdal) library(rgeos) Field<-readOGR("./","Field") Soil<-readOGR("./","Soil") Results<-gIntersects(Soil,Field,byid=TRUE) rownames(Results)<-Field@data$FieldName colnames(Results)<-Soil@data$SoilType > Results A B C D Z TRUE FALSE FALSE FALSE Y FALSE TRUE TRUE FALSE X TRUE TRUE TRUE TRUE どのフィールドにどの土壌タイプが含まれているかを教えてくれて、良い結果を達成しました。ただし、代わりにどのように領域を取得しますか?

1
shapelyを使用して、ポイントに最も近いラインセグメントを検索しますか?
バックグラウンド 既知のポイントから、図に示されているように、MultiLineStringのテーブルに対して最も近い周囲の「見える境界」を確立する必要があります。 私はこのサイトをいくつかの用語(例:最小エッジ、最小周囲、最近傍、クリップ、ポリゴンを含む、可視性、スナップ、カットノード、レイトレース、フラッドフィル、内部境界、ルーティング、凹型ハル)で検索しました。このシナリオに一致すると思われる以前の質問を見つけることができません。 図 緑の円は既知のポイントです。 黒い線は、既知のMultiLineStringです。 灰色の線は、既知のポイントからの放射状の掃引を示しています。 赤い点は、放射状スイープとMultiLineStringsの最も近い交点です。 パラメーター PointはMultiLineStringと交差しません。 Pointは常にMultiLineStrings内の名目上中央に配置されます。 MultiLineStringはPointを完全に囲むことはないため、境界線はMultiLineStringになります。 約1,000個のMultiLineStringを含むテーブルがあります(通常は約100ポイントの単一行を含みます)。 考慮される方法論 既知のポイントから一連の線を構築することにより、放射状スイープを実行します(たとえば、1度の増分で)。 MultiLineStringを使用して、各放射状スイープラインの最も近い交点を確立します。 放射状スイープラインの1つがMultiLineStringのいずれとも交差しない場合、これは、MultiLineStringの周囲構造に収まる周囲のギャップを示します。 概要 この手法は最も近い交差点を検出しますが、放射状スイープの解像度に応じて、必ずしもすべての最も近い境界ノードポイントを検出するわけではありません。誰もがすべての周辺ポイントを確立するための代替方法を推奨したり、何らかの形のバッファリング、セクター化またはオフセットでラジアルスイープテクニックを補完できますか? ソフトウェア 私は、SpatiaLiteやShapelyをソリューションに使用することを好みますが、オープンソースソフトウェアを使用して実装できる提案を歓迎します。 編集:実用的なソリューション(@geneの回答に基づく) from shapely.geometry import Point, LineString, mapping, shape from shapely.ops import cascaded_union from shapely import affinity import fiona sweep_res = 10 # sweep resolution (degrees) focal_pt = Point(0, 0) …

3
PostGISを使用して道路の交差点を特定する
道路が交差する場所を特定し、交差点を形成する道路の数をリストして、この交差点でポイントを作成しようとしています。 これを達成するためにST_NumPointsを使用する方法があるかどうか疑問に思っていましたが、私は何をすべきかを理解できません。次のコードを使用して、線が交差するポイントのテーブルを作成しました。 CREATE TABLE test_points as SELECT ST_Intersection(a.geom, b.geom), a.gid FROM roads as a, roads as b WHERE ST_Touches(a.geom, b.geom); 道路のサンプルでこれを実行すると、次の点のグリッドが得られます(道路は説明のために示されています)。 ポイントの1つを調べると、多くのポイントが積み重なっていることがわかります。 ここのGIDは道路IDですが、なぜ多くのポイントがあるのか​​理解できません。中央の道路の交差点で4つのポイントがカウントされることは理解できますが、ここには12ポイントがリストされています。PostGISでこの計算を実行するより良い方法はありますか?

6
ST_Intersectionの使用方法
ここに私がやろうとしていることについての簡単な要約があります:Postgresには、「a」と「b」の3つのテーブルがあり、それぞれにPolygon列があり、「c」にPoint列があります。ここでやろうとしているのは、「a」、「b」、「c」の間のジオメトリの交差を取得し、そのようなジオメトリをOpenLayersベクターレイヤーに表示することです。 OpenLayersでStringの任意の種類のジオメトリを表示する方法は既に知っていますが、PostGISのST_Intersection関数で問題が発生しています。これを実行しています。 SELECT ST_Intersection(a.geom, b.geom) as inter from a, b; ここで、a.geomとb.geomは両方ともジオメトリ列であり、次のエラーメッセージが表示されます。 NOTICE: TopologyException: found non-noded intersection between 515172 2.14408e+06, 497067 2.13373e+06 and 501321 2.13546e+06, 471202 2.14843e+06 500621 2.13576e+06 ERROR: GEOS Intersection() threw an error! また、次のようなST_AsTextを使用して、結果のジオメトリをテキストとして表現しようとしました。 SELECT ST_AsText(ST_Intersection(a.geom, b.geom)) as inter from a, b; しかし、それは私にこのエラーメッセージを送信します: HINT: No function matches the given …

2
ポリゴンをクリップしてデータを保持しますか?
次の2つのポリゴンがあります。 library(sp); library(rgeos); library(maptools) coords1 <- matrix(c(-1.841960, -1.823464, -1.838623, -1.841960, 55.663696, 55.659178, 55.650841, 55.663696), ncol=2) coords2 <- matrix(c(-1.822606, -1.816790, -1.832712, -1.822606, 55.657887, 55.646806, 55.650679, 55.657887), ncol=2) p1 <- Polygon(coords1) p2 <- Polygon(coords2) p1 <- Polygons(list(p1), ID = "p1") p2 <- Polygons(list(p2), ID = "p2") myPolys <- SpatialPolygons(list(p1, p2)) spdf1 = …

3
2つのレイヤーの重なりから新しいレイヤーを作成しますか?
私はデスクトップGISを初めて使用しますが、GISの専門用語から適切な用語を欠いたまま質問を試みます。 QGISがPhotoshopのようなものである場合、1つのレイヤーから選択を行い、その選択を別のレイヤーに一致させて2つのレイヤーのオーバーラップを取得し、このオーバーラップから新しいレイヤーを作成します。 別の方法で処方: ノルウェーの各自治体からすべての土地を選択したい。私が持っているシェープファイル(ここからダウンロードできます:http : //www.statkart.no/?module=Files;action=File.getFile;ID=41973)市町村の境界は、「N5000_AdministrativGrense」(境界のみ)および「N5000_AdministrativFlate」(各自治体内の境界線と土地)。このデータ(市区町村ごとの境界と土地)は管理的すぎます-海洋を含み、ノルウェーには多くのフィヨルドがあります。陸地から海を引いたものが必要です。 陸地は「N5000_ArealdekkeFlate」レイヤーにあります-少なくとも初心者には見えます。 だから-私は陸地(陸地のみ、海なし)と自治体境界の交差点を見つけて、海洋のないすべての自治体である新しい層を作りたいです。 QGISをインストールしたツールとしてMacを使用しています。すべてのヒント、ポインタ、およびヘルプは大歓迎です。

3
クリップツールと交差ツールの違い
クリップツールは、機能や結果の点で交差ツールとどのように違いますか?特定の状況を念頭に置いていません。私はこれらの各ツールについて学び、結果が一見非常に似ているように見えるので、それらがどのように異なるのか興味がありました。ありがとう!

3
Pythonで複数のポリゴンの交差点を効率的に取得する
複数のポリゴンの交差点を取得したいです。Pythonのshapelyパッケージを使用すると、intersection関数を使用して2つのポリゴンの交差を見つけることができます。複数のポリゴンの交差を取得するための同様の効率的な機能はありますか? これが私の意味を理解するためのコードスニペットです。 from shapely.geometry import Point coord1 = ( 0,0 ) point1 = Point(coord1) circle1 = point1.buffer(1) coord2 = ( 1,1 ) point2 = Point(coord2) circle2 = point2.buffer(1) coord3 = ( 1,0 ) point3 = Point(coord3) circle3 = point3.buffer(1) 2つの円の交点はで見つけることができますcircle1.intersection(circle2)。で3つすべての円の交差点を見つけることができますcircle1.intersection(circle2).intersection(circle3)。ただし、このアプローチは、より多くのコードを必要とするため、多数のポリゴンに対応できません。任意の数のポリゴンを取り、それらの交差を返す関数が欲しいです。

3
Rgeosは、ポリゴンを交差させるときに関連する値をドロップします
2つのSpatialPolygonsDataFramesを交差させて、結果としてSpatialPolygonsDataFrameを取得しようとしています。残念ながら、gIntersection関数rgeos(ポリゴンを交差させるために非常に高速に動作します)を使用すると、関連するデータフレームを取得できないようです。次の例を考えてみましょう。 > fracPoly <- gIntersection( toSingle, fromSingle ) > class(toSingle) [1] "SpatialPolygonsDataFrame" > class(fromSingle) [1] "SpatialPolygonsDataFrame" > class(fracPoly) [1] "SpatialPolygons" の転送を処理するラッパー関数を書くことはできますが、data.framesすべてのチェックを正しく行うのはささいな痛みになります。以下のためにgIntersection)これは私が関連を保持できるようになりますdata.frames。 更新 さらに考察すると、これはによる非常に意図的な動作である可能性がありますgIntersection。結局のところ、2つのSPDFのうち、誰のdata.frameを渡すのですか?そのため、2つをマージするラッパーを作成する必要があります。

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