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

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

1
ジオパンダラインポリゴンの交差
複数のラインが2つの異なるジオデータフレームのポリゴンと交差する場所を見つけようとしています。 from shapely.geometry import Polygon, LineString import geopandas as gpd polygon = Polygon([(0, 0), (1, 0), (1, 1), (0, 1), (0, 0)]) line1 = LineString([(0.5, 0.5), (0.7, 0.7)]) line2 = LineString([(0.9, 0.9), (0.2, 0.6)]) poly_gdf = gpd.GeoDataFrame(geometry=[polygon]) line_gdf = gpd.GeoDataFrame(geometry=[line1, line2]) これは、上記のジオデータフレームは次のようになります(1つにはポリゴンがあり、もう1つには2つの線があります)。両方の線がポリゴンと交差しているように見えます。 ただし、交差出力は非常に混乱します。 print(line_gdf.intersects(poly_gdf)) 0真 1誤り print(line1.intersects(polygon)) print(line2.intersects(polygon)) 本当 本当 …

1
QGISでPythonを使用して交差する線を交差させますか?
バスラインを表す一連のラインがあります。いくつかの線が重なっており、同じ道を進んでいます。 ノードを抽出することができます。 ただし、このような交差点のみを抽出することに興味があります。 これどうやってするの?QGISまたはPythonを使用した方法を探しています。 GDAL Pythonの交差法を試しましたが、基本的には頂点のみが返されます。 QGIS のLine Intersectionsメソッドは、2本の線が交差する場合に交差を返します。ただし、2本のバス路線が同じ道路のルートの一部を進んでいる場合、それらが合流する場所を示すことはできません。

3
QGISを使用して2つのレイヤーのいずれかから重複するポリゴンフィーチャを削除しますか?
ポリゴンの2つの重複するレイヤーがあり、重複する領域を何らかの方法で消去する必要があります。-このようにして、重なり合わないポリゴンの2つのレイヤーができあがります。かなりシンプルに聞こえますが、Qgisのどのツールでも正しく理解できません!?「クリップ」または「ポリゴンで形状をカット」、または「差分」ツールと「クリップ」を使用する必要がありますか? 私が何をしても、製品は正しくありません。

2
別のポリゴンの境界まで延びるボロノイポリゴンを取得する
地区(水色)に特定のハブ(黄色)があります。地区内のすべてのポイントに最も近いハブを示すポリゴンを見つける必要があります。 QGISを使用して取得したボロノイポリゴンは、画像では茶色に着色されています。ただし、地区全体を塗りつぶすポリゴンが必要なため、外側の境界を塗りつぶすボロノイポリゴンが必要です。 次の図に示すように、ボロノイポリゴンを作成しながらバッファー領域を追加し、次に関数intersectを使用してポリゴンを地区境界にトリミングすると、間違ったポリゴンが表示されます。 必要なボロノイポリゴンを生成するにはどうすればよいですか?

2
QGISで交差するポリゴンの面積を計算する
シェープファイルの2つのコレクションがあります。 1-郵便番号、行政および政治分野 2-公園や区画などのさまざまな土地利用カテゴリと、木のようなポイント 同様の方法で、郵便番号、行政区域、政治区域、およびポイント数で分類した土地利用カテゴリの面積に関する統計を作成したいと考えています。たとえば、SE15には4.1haの公園、SE22には879本の樹木などがあります。 QGISを使用しています。すべてのシェープファイルを準備するために生データを処理しましたが、このWebサイトや他のWebサイトをあちこち検索した後、これを行う方法がわかりません。

2
SQL Server-より大きなポリゴン内にネストされているすべてのポリゴンを選択します
これは一見シンプルなSQL Serverのジオメトリの質問で、すぐに使えるソリューションがあると思っていましたが、見つけることができません。 私の意図は、別のテーブルからのより大きなポリゴン内にネストされた(含まれている)ポリゴンを持つ1つのテーブル内のすべてのレコードを選択することです。私は期待する機能STWithinとSTContains必要な解決策として期待していましたが、残念ながら、どちらも大きなポリゴンにネストされている内部のポリゴンのみを識別し、大きなポリゴンの境界に接しているネストされたポリゴンは識別していません。たとえば、画像を参照してください。 私のニーズに合った代替オプションはでしたSTIntersection。ただし、この関数の問題は、ジオメトリ列のみが返されることです。代わりにレコードIDを取得したいと考えています。これを行う方法についての提案はありますか? STWithin: select a.bg10 from gis.usa_10_block_group a join gis.usa_10_mkt_definition b on a.shape.STWithin(b.shape) = 1 where b.mktname = 'Loop' STContains: select a.bg10 from gis.usa_10_block_group a join gis.usa_10_mkt_definition b on b.shape.STContains(a.shape) = 1 where b.mktname = 'Loop' STIntersection: select a.shape.STIntersection(b.shape) from gis.usa_10_block_group a join gis.usa_10_mkt_definition b on a.shape.STIntersects(b.shape) = …

1
空間述語「カバー」と「含む」の違いは何ですか?
DE-9IM交差行列の空間述語を理解しようとします。述語Covers(それぞれCoveredBy)とContains(それぞれ内)の違いはわかりません。 私はとのジオメトリを描画しようとするJTSトポロジースイート彼らは常にある、Covers = True と Contains = Trueの違いを参照すること、すなわち、(あるいはその両方偽です)が、私は彼らが異なる作るために管理していないCoversとしますContains。誰かがその違いを説明する例(できればWKTまたは写真)を持っていますか?

5
空の出力を生成するポリゴンの交差(分析)
以前に、別のポリゴン境界を持つポリゴンの領域を決定することについて質問しました。 ポリゴン境界内の各ポリゴンの面積を決定していますか? 私は、交差関数を使用することが1000m境界内のポリゴンの面積を決定する上で最も実行可能なオプションであるという結論に達しました。ポリゴン境界内のすべてのポリゴンシェープファイル(約40個あります)との交差を実行すると、空の出力が生成されます。 各シェープファイルとデータフレームの座標系を同じものに設定しました。ArcGISライセンスでArcGIS 10.1を使用しています。 この空の出力が生成される原因は何ですか? 警告000117:空の出力が生成されました。

1
PostGISでのラスター統計計算のパフォーマンス
PostgreSQL / PostGISを使用して、ベクターレイヤーの各ポリゴンのラスター統計(最小、最大、平均)を計算しようとしています。 このGIS.SEの回答は、ポリゴンとラスター間の交差を計算し、次に加重平均を計算することにより、これを行う方法を説明しています:https : //gis.stackexchange.com/a/19858/12420 私は次のクエリを使用しています(demはラスター、topo_area_su_regionはベクターでtoid、一意のIDです: SELECT toid, Min((gv).val) As MinElevation, Max((gv).val) As MaxElevation, Sum(ST_Area((gv).geom) * (gv).val) / Sum(ST_Area((gv).geom)) as MeanElevation FROM (SELECT toid, ST_Intersection(rast, geom) AS gv FROM topo_area_su_region,dem WHERE ST_Intersects(rast, geom)) foo GROUP BY toid ORDER BY toid; これは機能しますが、遅すぎます。私のベクターレイヤーには2489kのフィーチャがあり、各フィーチャの処理には約90msかかります- レイヤー全体の処理には数日かかります。(ST_Areaへの呼び出しを回避する)最小値と最大値のみを計算する場合、計算速度は大幅に向上しないようです。 Python(GDAL、NumPy、PIL)を使用して同様の計算を行うと、(ST_Intersectionを使用して)ラスターをベクトル化する代わりに、ベクトルをラスター化する場合に、データの処理にかかる時間を大幅に削減できます。ここのコードを参照してください:https://gist.github.com/snorfalorpagus/7320167 私は本当に加重平均を必要としません-「それに触れるなら、それは入っている」アプローチで十分です-そしてこれが物事を遅くしているものであると合理的に確信しています。 質問:PostGISをこのように動作させる方法はありますか?つまり、正確な交差ではなく、ポリゴンが接触するラスターからすべてのセルの値を返します。 私はPostgreSQL / PostGISに非常に慣れていないので、私が正しく行っていないことが他にあるかもしれません。私はPostgreSQL 9.3.1とPostGIS …

2
Rを使用して1つのポリゴンの交差を別のポリゴンから削除しますか?
Poly2からPoly1への交差を削除しようとしています。以下は、2つのポリゴンの座標です。 > coords1 [,1] [,2] [1,] 992.0161 7462.531 [2,] 950.1962 7413.532 [3,] 902.3632 7421.207 [4,] 706.1985 7472.378 [5,] 654.0139 7711.760 [6,] 657.5960 7726.950 [7,] 786.2667 7844.380 [8,] 789.5935 7842.925 [9,] 981.7046 7498.659 [10,] 983.4246 7493.271 [11,] 990.6680 7469.888 [12,] 992.0161 7462.531 > coords2 [,1] [,2] [1,] 930.3464 7607.313 [2,] 979.3528 …

2
シェープファイルのトポロジを修復する方法は?
ENVI EXを使用してオブジェクトベースの画像分析を実行し、分類された各機能をシェープファイルとしてエクスポートしました。それらのシェープファイルをArcMap 10に転送し、GeoBaseから取得した同じエリアの他のシェープファイルとそれらを交差させようとしました。 交差ツールを実行しようとすると、ENVI EXから抽出されたシェープファイルのトポロジが無効であることを示すエラーメッセージが表示されます。トポロジツールをオンにして、これらのシェープファイルのトポロジを修復しようとしましたが、ボタンがグレー表示されており、クリックできません。トポロジツールは、使用しているどのシェープファイルに対しても機能しません。 解決策はありますか?トポロジを修正して交差を実行するにはどうすればよいですか?

4
接触する線と交差する線を区別しますか?
ArcGIS 10でこれらのケースをどのように区別しますか? ケース1:線の両端が別の線に接している ケース2:両方の端点が交差する線上でぶら下がる 私はトリムライン機能を見ていますが、それは私が望むものではありません(破壊的)。 実世界のユースケースは、高速道路の両方の道路を接続するサービス道路と、高速道路と交差する道路の他のケースを区別することです。

1
PostGISでの複数のレイヤーの交差
複数のレイヤーの共通部分を計算するために、PL / pgSQLストアドプロシージャを記述する必要があります。たとえば、3つのレイヤーA、B、Cの場合、この関数はABCジオメトリを返します。 関数は、交差する必要のあるレイヤーのIDを入力として受け取ります。誰かがこの機能を構築するためのアドバイスをくれますか?これについての私の考えは、最初のレイヤーと交差する必要があり、次にこの交差の結果が3番目のレイヤーと交差するなどです。

3
RTree空間インデックスの結果、交差計算が速くならない
多くのShapely LineStringと交差するShapely Polygon / MultiPolygonを決定するために使用しているコードがあります。この質問への回答を通じて、コードは次のようになっています。 import fiona from shapely.geometry import LineString, Polygon, MultiPolygon, shape # Open each layer poly_layer = fiona.open('polygon_layer.shp') line_layer = fiona.open('line_layer.shp') # Convert to lists of shapely geometries the_lines = [shape(line['geometry']) for line in line_layer] the_polygons = [(poly['properties']['GEOID'], shape(poly['geometry'])) for poly in poly_layer] # Check for Polygons/MultiPolygons …

7
180°子午線と極を正しく処理する交差アルゴリズム?
180子午線と極を正しく処理するよく知られた交差アルゴリズムはありますか? たとえば、南極を表す緯度と経度の値のリストがあるとします。飛行機を表す単純なポリゴンもあるとします。飛行機が南極大陸の上にあるかどうかを知りたいです。 フラットな座標系には経度-180および180、緯度-90および90にエッジがあるため、一般的な2Dポリゴンの交差は、yに緯度を使用し、xに経度を使用するだけでは機能しません。南極大陸は3つの端でページから外れます。

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