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

マップ上で、接続された一連のx、y座標ペアによって定義される閉じた形状。最初と最後の座標ペアは同じで、他のすべてのペアは一意です。

3
Rの空間ポリゴンオブジェクトのリストをマージします
関数で構築した空間バッファー(30000バッファー)のリストがありますlapply。 buff.pts <- lapply(1:nrow(pts.prj), FUN=function(l){ buff <- gBuffer(pts.prj[l,], width=1000) ## 1km return(buff) })) > head(buff.pts) [[1]] class : SpatialPolygons features : 1 extent : 307941.8, 311941.8, 4994518, 4998518 (xmin, xmax, ymin, ymax) coord. ref. : +proj=tmerc +lat_0=0 +lon_0=-73.5 +k=0.9999 +x_0=304800 +y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs +towgs84=0,0,0 [[2]] class : SpatialPolygons …
16 polygon  r  sp  rgeos 

2
Rのポリゴンレイヤーを使用して、ポリゴンレイヤーの真のGISクリップを実行する方法は?
一連の単一境界ポリゴンを使用して土壌ポリゴンのRで真のGISクリップを実行したいのですが、適切に実行するR関数が見つかりません。clipESRIのArcMapの関数と同じように機能するはずです。パッケージover内のメソッドを試しましたが、sppolys over polysでは機能しないようです。 1つの提案は、次のコードを使用して、gIntersectionin rgeosパッケージをクリップとして使用することです。 #------------------------------------ library(rgeos) library(maptools) #Read layers as SpatialPolygonsDataFrame (both the same Albers projection) Soils_poly = readShapePoly("Soils_polygons") #Note - Has 400 polygons clipper_poly = readShapePoly("clipper_polygon") #Note - Has 1 polygon #Try gintersection as clip Clipped_polys = gIntersection(Clipper_Tile_poly, Soils_poly) #----------------------------------- これには、実行に5分かかり(速度が遅すぎる)、次のエラーが発生します。 RGEOSBinTopoFunc(spgeom1、spgeom2、byid、id、drop_not_poly、 "rgeos_intersection")のエラー:TopologyException:-721459.77681285271 2009506.5980877089で発信dirEdgeが見つかりません また、重複をチェックするためにこのコードを試しました。 gIntersects(Clipper_Tile_poly, Soils_poly) そして結果は真でした。clipESRI …
16 r  polygon  layers  vector  clip 

7
オープンソースGISソリューションのポリゴンオーバーレイからラスター値を取得
2つのレイヤーがあります。多くのタイルを含むポリゴンシェイプレイヤーと、カラーマップの多くのカテゴリを含むCORINE 2006土地被覆を含むラスターレイヤー。シェープレイヤーの各ポリゴンについて、ラスターレイヤーの各土地被覆カテゴリの合計を取得します。 たとえば、IDが '2'のポリゴンがあり、このポリゴンに対して次のような属性が必要です(パーセントまたは平方メートル)。 耕地:15% フォレスト:11% 通り:2%(...など) 私は草、qgis(機能なし)、saga(すべてを合計値に合計する)r(合計)でそれをしようとしましたが、まだ解決策が見つかりませんでした。ほとんどのプラグイン(qgisのゾーン統計)は、0-1ラスターレイヤーのみをサポートします。v.rast.statsも役に立たなかった。Iamは、優れたスマートソリューションにオープンです。たぶん私は間違ったアプローチを使用したか、間違いを犯した。 Arcgisでは、このタスクは非常に簡単です。覚えていれば正しいですが、私はあなたの日常のLinuxユーザーにとって良い解決策がまだありません。 私はDebian Linuxシステムを実行しているため、このOS用のプログラムしか使用できません。 編集:この質問にはまだ多くのビューと訪問者がいるので、QGISプラグインを作成しました。これは、ラスターレイヤーの土地被覆を計算することもできます。ポリゴンオーバーレイはまだコーディングしていませんが、間違いなく計画されています。ここでプラグインを見つけて、最初にScipyライブラリをインストールします。
16 qgis  raster  polygon  r  statistics 

5
ArcMap 10でポリゴンを複数の等幅ポリゴンに分割する方法は?
私は駐車場に駐車スペースを追加していますが、それらはまったく同じ形状であり、互いに重なり合ったりスペースを空けたりしないようにする必要があります。ArcMap 9.3には、長い長方形を複数の等幅ポリゴンに分割できる編集タスクがありました。ArcMap 10でこのツールを見つけるのに問題があります。これを行う方法を知っている人はいますか?

3
PostGISでポリゴンフィーチャ間の違いを視覚化するためにラインを作成する方法は?
polygon_bいくつかのポリゴンフィーチャを備えたPostGISテーブルがあります。テーブルもあり、polygon_a同じポリゴンが含まれていますpolygon_bが、軽微な変更には。次に、ポリゴンフィーチャ間の違いを視覚化するラインを作成します。 私はそれをして仕事ST_ExteriorRingをST_Differenceするだろうと思うが、WHERE句は非常に難しいようだ。 CREATE VIEW line_difference AS SELECT row_number() over() AS gid, g.geom::geometry(LineString, yourSRID) AS geom FROM (SELECT (ST_Dump(COALESCE(ST_Difference(ST_ExteriorRing(polygon_a.geom), ST_ExteriorRing(polygon_b.geom))))).geom AS geom FROM polygon_a, polygon_b WHERE -- ? ) AS g; 誰も私を助けることができますか? 編集1 「tilt」によって投稿されST_Overlaps(polygon_a.geom, polygon_b.geom) AND NOT ST_Touches(polygon_a.geom, polygon_b.geom)たように、私は試しましたが、結果は期待通りではありません。 CREATE VIEW line_difference AS SELECT row_number() over() AS gid, g.geom::geometry(LineString, your_SRID) AS …

3
PostGISを使用してラスタとポリゴンを交差させる-アーティファクトエラー
PostGIS2.0を使用して、ラスター/ポリゴンの交差を行います。どの操作を使用する必要があるのか​​、これを実行する最も速い方法は何かを理解するのが困難です。私の問題は次のとおりです。 ポリゴンとラスターがあります ポリゴン内にあるすべてのピクセルを見つけて、ピクセル値の合計を取得したい (更新された問題):クエリを実行すると、元のラスターに存在しないいくつかのピクセルの大きな値を取得しています ST_Intersects()またはを使用する必要があるかどうかがわかりませんST_Intersection()。また、ピクセルを合計するための最良のアプローチが何であるかわかりません。これが私が試した最初のアプローチです(#1): SELECT r.rast FROM raster as r, polygon as p WHERE ST_Intersects(r.rast, p.geom) これはrast値のリストを返しますが、これをどうすればいいのかわかりません。を使用して要約統計を計算しようとしましたST_SummaryStats()が、これがポリゴン内にあるすべてのピクセルの加重和であるかどうかはわかりません。 SELECT (result).count, (result).sum FROM ( SELECT ST_SummaryStats(r.rast) As result FROM raster As r, polygon As p WHERE ST_Intersects(r.rast, p.geom) ) As tmp 私が試した他のアプローチ(#2)はST_Intersection()次を使用します: SELECT (gv).geom, (gv).val FROM ( SELECT ST_Intersection(r.rast, p.geom) AS …

2
一部のエリアを除き、Googleマップの地図をグレーアウトすることはできますか?
私が探しているのは、世界の残りの部分をグレー表示することで、Googleマップの地図上の特定の領域を強調する方法です。 2つのポリゴンのうち1つは表示され、もう1つは表示されず、マップが静的(マップの移動なし)の場合にのみ機能するというソリューションについて聞いたことがあります。ただし、ユーザーが地図をズームおよびドラッグできるようにしたいと思います。 また、ある領域を強調することを考えていない他の方法にも興味があります。 更新: radekが投稿したソリューションを試してみると(つまり、outerBoundaryIs(ビューよりも大きい)とinnerBoundaryIs(強調する領域)を持つPolygonでKMLを作成する)ズームインすると、長方形の領域がもう周囲のポリゴン。見る: それに対する経験/解決策をお持ちですか? update2: Google Fusion Tablesを使用して、radekのソリューションをテストする時間ができました。最初は、KMLと同じようにタイルが見つからないという問題がありました(上の写真を参照)。私は彼のソリューションのjqueryハックがロードされていないタイルを意図していたと感じています: setTimeout(function(){ $("img[src*='googleapis']").each(function() { $(this).attr("src",$(this).attr("src")+"&"+(new Date()).getTime()); }); }, 5000); 更新後にタイルが読み込まれるように思えたので、自分でハックを使用していません。新しいユーザーごとにバグが発生した場合は、それを試してみます。

2
複雑なポリゴンを修正して、Googleマップで正しく表示するにはどうすればよいですか?
問題:壊れたポリゴンの形状を修正する方法を見つけようとしていますが、どうすればこれができるかわかりません。 詳細: しばらく前にTIGERLINESから基本的にインポートしたポリゴンがいくつかあります。 それらをシェープファイルに変換してから、SQL Server 2008にインポートしました。 SQL Server 2008では、見栄えがいいです:)それは、インポートが多かれ少なかれ機能したことを示唆しています。これがロサンゼルスの街です:- しかし、私のポリゴンには多くのポイントがあるため、REDUCEマップビューレベルがズームインされていない場合はそうです。だから、私の場合、縮小されたロサンゼルスをレンダリングしようとしています:- 驚くばかり! これは、よく知られているテキスト形式としてのポリゴンです。 MULTIPOLYGON (((-118.37033296865027 33.981437119998084, -118.37005887887605 33.981578692036159, -118.37034101004039 33.981636093563019, -118.37033296865027 33.981437119998084)), ((-118.66815694082851 34.181234948814819, -118.62915309690062 34.14689902389253, -118.56475201393673 34.130168028388276, -118.5992039806748 34.074336925351339, -118.57039497030522 34.069345957209549, -118.56968692628638 33.988811006799452, -118.55134001501617 33.982488918901176, -118.49446792996977 34.050559988837591, -118.44342601159182 34.016625025023124, -118.53748592914029 33.96667393391462, -118.49898897162241 33.916299091437473, -118.43732802504242 33.91651401198633, -118.4580839734636 33.961275936767734, -118.42944687485486 33.916317947202252, -118.4287748805515 …

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
QGIS 3.0で頂点とセグメントをスナップできません
QGIS 3.0では2つのポリゴンをスナップできません。同じレイヤーの2つのポリゴンと、異なるレイヤーの2つのポリゴンをスナップしてみました。 [設定] >> [オプション] >> [デジタル化]タブでスナップが有効になっていることを確認し、スナップ距離を増やしました。 レイヤーレベルで「スナップ設定」を見つけることができませんでした。レイヤーが投影されます。

1
ArcPyを使用して中点でポリゴンを分割しますか?
次の図のように、最長軸に垂直な(つまり、中間点の幅を横切る)中間点で約4000個のポリゴンを分割しようとしています。 理想的には、これを自動的に行い、各ポリゴンを手動で分割しないようにします。それぞれに描画できる最長の線を変換してポリゴンの中間点を抽出しましたが、この点を横切る線を自動的に描画する方法を決定するだけです。 ポリゴンの幅はさまざまであるため、特定の長さの幅の線を定義してポリゴンを分割するツールは、私が探しているものではありません。 何か案は?

1
多角形の偽のドーナツ穴を実際の穴に変換する方法は?
幾何学的に有効でなければならないシェイプファイルをシステムにインポートする必要があるこの問題がありますが、誰もがそれらを作成するために使用するソフトウェアは、穴を含むすべてのポリゴンが代わりに単一の外輪で構成されるファイルを出力するようです境界を回ってから、任意のパスに沿って内向きに進み、内側のリングとなるものの周りをトレースしてから、二重になって外側に戻ります。 私が求めているのは、有効な多角形を形成する別々の内側と外側のリングを作成するために、穴を出入りする任意のパスに沿って頂点を何らかの方法で分解することによってこれらを解決する方法です。私はArcGISの試用版を試しましたが、ダブルバック部分の頂点を一緒にスナップすると自動的にこれを行うようですが、私のビジネスにはArcGISのコピーがなく、上司を説得するのに苦労するかもしれませんそれを購入するので、QGISがそのようなことをできるようにしたいと思っていましたか? スクリーンショット: 申し訳ありませんが、WKTから抜け出す方法はわかりませんでしたが、頂点で遊んでみて、1つのリングが少しだけ二重になっていることを確信しています。
14 qgis  polygon 

3
ArcGISで2つの「互換性のない」ポリゴンレイヤーをマージする方法は?
管理境界を持つポリゴンの2つのレイヤーがあります。それらは同じデータプロバイダーから提供されますが、わずかな食い違いがあり、互いに「適合」していないようです。 ArcGIS 9.3でこれら2つのレイヤーをマージして、それらの間のオーバーラップとギャップを削除するにはどうすればよいですか? 一方のレイヤー(私の場合は灰色のレイヤー)に優先順位を付け、それに応じてもう一方のレイヤー(紫色)を「合わせる」ことは可能でしょうか?

2
ポリゴン間のフロー(接続+値)の転送
QGISには、セルと1つの追加レイヤーの間の移動データを表す2つのシェープファイルがあります。下の画像を参照してください 以下によって定義されたデータの移動: ポリゴン"LayerA"(赤い輪郭の透明な正方形)。それに加えて、細胞内の動きを表す円にも関連し、"LayerA"ジオセントロイドます。 ポリラインレイヤー"Flows"(黄色/灰色の矢印)、"LayerA"フィーチャのジオセントロイド間の接続を介して値を伝えます ターゲット層: ポリゴン"LayerB"(濃い灰色の輪郭の明るい薄紫色の特徴)。 さらに、"FLUX"セル内の値"LayerA"を"LayerB"ポリゴンから既に移動し、移動しています。前の質問「QGISのポリゴン間で値を継承しますか?」を参照してください。。これは、使用して行った%の$area計算を。 フロー接続を転送/送信/変換する有意義なソリューション/アプローチがあるかもしれません によって表される"Flows"とその関係からの関係"LayerA"へのその値"LayerB"。 これらの接続をポリラインとしてどのように実現できますか? さらに、新しいフローは同様のスタイルを継承します "Flows"ます。 リクエストにより、データのサンプルを提供できます。 フローはないの機能の間に存在します"LayerA"が、の特徴間 "LayerB"。主な目的は"FLUX"、"LayerB"可能なテーブル/オリジン-宛先マトリックス間の接続の属性(from / to)を達成することです。 いくつかの要件/基準があります遵守すべき。 1.同じセル内のフィーチャのパーツ(黄色で選択)間にフロー接続がありません 2.部品が異なるセルにある場合でも、同じ機能間に接続はありません。 3.フィーチャの部分が完全に2つの異なるセルフィーチャ内にある場合、フィーチャの部分間に接続が存在します"LayerB"("Union"出力に基づく)"LayerA" 4."FLUX"伝達している新しい値は、以下の画像に示すように計算されます。 たとえば、2つのセルIとの間に接続IIが"FLUX"あり100ます。他の値を仮定すると、"NEW_FLUX"間A'とは、B''周りになります1.5625。100ただ一つの例です。 参照: QGISのポリゴン間で値を継承しますか? QGIS 2でフローマップスタイルを調整する 別のレイヤーのポリゴン内のポリゴンの比例面積を計算する 無料でオープンソースのGIS Ramblings | GISの移動データ:問題とアイデア QGIS 2の仮想レイヤーでジオメトリを保持

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