タグ付けされた質問 「spatial-join」

4
QGIS、ArcGIS、PostGISなどを使用しないPythonでのより効率的な空間結合
私はここの例のように空間結合をしようとしています:「場所によって属性を結合する」Pythonオプションはありますか?。しかし、そのアプローチは本当に非効率的/遅いようです。わずかな250ポイントでこれを実行しても、ほぼ2分かかり、1,000ポイントを超えるシェープファイルでは完全に失敗します。より良いアプローチはありますか?ArcGIS、QGISなどを使用せずに、これをPythonで完全に実行したいと思います。 また、ポリゴン内にあるすべてのポイントの属性(母集団)を合計し、その量をポリゴンシェープファイルに結合できるかどうかを知りたいと思います。 これが私が変換しようとしているコードです。9行目にエラーが表示されます。 poly['properties']['score'] += point['properties']['score'] それは言う: TypeError:+ =: 'NoneType'および 'float'のオペランドタイプはサポートされていません。 「+ =」を「=」に置き換えても問題ありませんが、フィールドを合計しません。また、これらを整数として作成しようとしましたが、同様に失敗します。 with fiona.open(poly_shp, 'r') as n: with fiona.open(point_shp,'r') as s: outSchema = {'geometry': 'Polygon','properties':{'region':'str','score':'float'}} with fiona.open (out_shp, 'w', 'ESRI Shapefile', outSchema, crs) as output: for point in s: for poly in n: if shape(point['geometry']).within(shape(poly['geometry'])): poly['properties']['score']) += point['properties']['score']) output.write({ …

3
Rの空間ポイントデータをポリゴンに結合する
この質問は、地理情報システムStack Exchangeで回答できるため、Stack Overflowから移行されました。 4年前に移行され ました。 ポイントデータとポリゴンデータ間の空間結合を実行しようとしています。 CSVファイルAにイベントの空間座標を示すデータがあり、ポリゴンとして領域の境界を含む別のファイル、シェープファイルBがあります。 head(A) month longitude latitude lsoa_code crime_type 1 2014-09 -1.550626 53.59740 E01007359 Anti-social behaviour 2 2014-09 -1.550626 53.59740 E01007359 Public order 3 2014-09 -1.865236 53.93678 E01010646 Anti-social behaviour head(B@data) code name altname 0 E05004934 Longfield, New Barn and Southfleet <NA> 1 E05000448 Lewisham Central …

2
QGISの場所ごとの結合属性を理解していますか?
"Join Attributes by Location"QGIS 2.18でアルゴリズムを実行するときに設定できるパラメーターの説明はどこかにあるのでしょうか。 私はここを見ていた: ドキュメントQGISテスト| 場所ごとに属性を結合する QGIS 2.8のドキュメント| fToolsプラグイン しかし、説明はありません。ヒントはありますか?

3
ジオパンダの空間結合が非常に遅い
以下のコードを使用して、数百万のGPSポイントの国(および場合によっては州)を見つけています。現在、コードは1ポイントあたり約1秒かかりますが、これは非常に遅いです。シェープファイルは6 MBです。 ジオパンダは空間結合にrtreeを使用しており、信じられないほど効率的であると読みましたが、これはここでは機能しないようです。私は何を間違えていますか?私は毎秒1000ポイントかそこらを望んでいました。 シェープファイルとcsvはここからダウンロードできます(5MB):https ://www.dropbox.com/s/gdkxtpqupj0sidm/SpatialJoin.zip ? dl=0 import pandas as pd import geopandas as gpd from geopandas import GeoDataFrame, read_file from geopandas.tools import sjoin from shapely.geometry import Point, mapping,shape import time #parameters shapefile="K:/.../Shapefiles/Used/World.shp" df=pd.read_csv("K:/.../output2.csv",index_col=None,nrows=20)# Limit to 20 rows for testing if __name__=="__main__": start=time.time() df['geometry'] = df.apply(lambda z: Point(z.Longitude, z.Latitude), axis=1) …

3
QGISを使用してポイントタッチラインアトリビュートをラインレイヤーに戻しますか?
QGIS 2.14.4-Essenを使用しています。2つのレイヤーがあります。 YEAR列のポイントを含むpoints.shp points.shpからポイントを正確に接続する線を含むlines.shp points.shpからlines.shpに戻るYEAR属性を取得したいと思います。各線は、各端に1つのポイントを持つ単一のセグメントです(下の図を参照)。取得したいのは、最初のポイントからYEARで、2番目のポイントからYEARで各ライン属性に戻ります。 たとえば、行1はYEAR = 2010の最初のポイントとYEAR = 2011の2番目のポイントに触れています。「2010-2011」のようなものを1行目の属性に戻したいと思います。結果は次のようになります。 id | points ----+----------------- 1 | 2010-2011 2 | 2011-2012 3 | 2012-2016 QGISを使用してこれを達成する方法はありますか?

2
QGISで繰り返しタスクを実行する方法は?
多くの機能ファイルを処理しようとしているので、それを自動化したいと思います。 実際、いくつかの種の空間分布を持つ1つのシェープファイルと、植生タイプを持つ1つのシェープファイルがあります。 Species Shapefileで1つの種を(属性によって)選択し、次に分布領域と交差するすべての植生領域を(地域によって)選択します。最後に、名前として種の名前を持ち、頻出する植生タイプの属性と形式を含むシェープファイルを作成したいと思います。そして、私はこれをすべての種(100種以上)で繰り返し、できれば簡単に(他の人ができるように)行いたいと思います。 私はすでにSextanteプラグインを使用してこのタスクを試しましたが、最後にシェープファイル名として種名を持つことはできません。 誰かがこれの方法を提案できますか?

2
テーブルへのフィーチャクラスの1対多の結合
ArcMap 10.2.2をAdvancedライセンスで使用しています。私は他の基本的な分析にArcMapを使用しましたが、プログラムはかなり新しく、基本的なコーディングスキルしかなく、ArcMapのSQLコードビルダーを使用した非常に基本的なクエリ以外のSQLの経験はありません。 私は種の地理的範囲の多角形を持っています、そしてそれらの種によって運ばれる病原体/病気のリストの表があります。特定の種は複数の病原体を運ぶ。理想的な世界では、範囲のポリゴンを種+病原体のテーブルに結合し、ポリゴン/空間データを保持しますが、これを行うGISツールはないようです(私は後で重複する病原体を数えるので、複数の病原体に関する情報を持つ1つの機能ではなく、各種と病原体の組み合わせに独自の機能があることが重要です)。これらは私のデータのようになります(#1&#2、#3は後で使用します): 空間フィーチャの属性テーブル: 空間データのないテーブル: (これらは実際のデータではなく、病原体と種の組み合わせは実際とは異なる場合があることに注意してください。実際には115のポリゴンと519のテーブル行があります。種は1〜40の病原体を運ぶため、種は1〜40の行を持ちます私のテーブル) 追加のボーナスとして、私が行う必要がある将来の分析のために、テーブルからのデータの追加の列を保持できるように、この1対多の結合を実行できることが理想的です(例については以下を参照)これがどのように見えるか)。ただし、結合の方法がわかれば分析をやり直すことができるため、これはそれほど重要ではありません。 この問題に対して私が見つけたいくつかの解決策がありますが、それらは以下にリストされた理由のために私にとってはうまくいきませんでした: 解決策1:David Aalbersのブログ - 新しいスクリプトを編集する方法を理解し、それをArcMapにインポートする方法を理解するには、あまりにも初心者です。古いスクリプトを試しましたが、 test、test_1、test_1_1、test_1_1_1などのタイトルの空のポリゴンが大量に生成されました。 解決策2:1対多の結合 -クエリテーブルの作成ツールを使用しようとしました(式ビルダーを使用しましたが、SQLの知識がありません)。エラー000383が発生しました:テーブルの問題、ワークスペースが見つかりません&実行に失敗しました(MakeQueryTable)。すべてのファイルは同じフォルダーにありますが、ジオデータベースにはありません。


4
CSVファイルをシェープファイルに結合
CSVファイルをシェープファイルに結合したいと思いました。 結合を容易にするフィールドを特定したとき、たとえば、 map <- spChFIDs(map, as.character(map$ID)) 戻った spChFIDs(SP、x)のエラー:長さが異なります 誰かアドバイスできますか?
9 shapefile  r  csv  spatial-join  sp 

1
属性で結合/ SQLでスペーシャライト/ QGISの左外部結合
「n」線オブジェクト(「道路」)と交差するポリゴン(「木」と呼びましょう)のレイヤーがあります。すべての道路には一意の属性roadidがあります。 後の使用のために交差するwoods-polygons-layerにすべてのロードID(最初のQGisだけでなく)を追加する必要があります。好ましくは、すべてのロードIDは、たとえば「、」で割った「森」の1つの新しい属性列にある必要があります。 すべての木に道路が1つしかない場合は、「位置による属性の結合」ツールを使用して、ポリゴンの道路IDを取得できます。必要な属性は一意の文字列であるため、フィールドを合計/平均/最小/最大化するのに役立ちません。また、「、」で区切られた文字列としてそれらを結合するオプションはありません。 編集:プラグインや外部プログラムの助けがなければ解決策はありません(以下のMatthias Kuhnのコメントを参照)。 (QGIS 2.10.1-Pisa)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.