2つのレイヤーがあります。1つ(A)にはポイントフィーチャがあり、もう1つ(B)にはポリゴンがあります。
Aテーブルの一部(ID)またはすべてのフィールドと、BポリゴンにAポイントが含まれているBテーブルの一部(市外局番)またはすべてを含む新しいテーブルを作成するにはどうすればよいですか?
QGISを使用しています。
2つのレイヤーがあります。1つ(A)にはポイントフィーチャがあり、もう1つ(B)にはポリゴンがあります。
Aテーブルの一部(ID)またはすべてのフィールドと、BポリゴンにAポイントが含まれているBテーブルの一部(市外局番)またはすべてを含む新しいテーブルを作成するにはどうすればよいですか?
QGISを使用しています。
回答:
SQL経由
データへのアクセスとSQLデータベースへのアクセスが必要です。単純なSQLクエリを介して情報を取得できます。この例は、TSQLのSQL Server用に記述されています。
クエリは、消火栓(レイヤーA)と消防区(レイヤーB)のIDを、共通の識別子とそれぞれのジオメトリ定義とともにリストします。ジオメトリが定義されているため、これらの結果をテーブルに挿入すると、マップで確認できます。
SELECT WHYDRANT.OBJECTID AS HYDID,
WFIREDISTRICT.OBJECTID AS FDID, WHYDRANT.UNID AS UNID,
WFIREDISTRICT.UNID AS FDUNID, WHYDRANT.SHAPE
FROM WFIREDISTRICT
INNER JOIN WHYDRANT ON
WFIREDISTRICT.SHAPE.STContains(WHYDRANT.SHAPE()) = 1