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

1
PostGISの近接検索のST_DWithinとST_Distanceの違いは何ですか?
緯度と経度の座標がジオメトリフィールドに格納されたテーブルにレコードが格納されています。ユーザーが指定した参照ポイントの近くにあるすべてのレコードを検索したい。「近く」とは、おそらく100km未満(さらに小さい場合もある)を意味します。 私が見るほとんどの例はを使用していますST_DWithin。使用できない理由はありますST_Distanceか?使用しての違いは何であるST_DWithinとST_Distanceこれを行うには? 例えば: SELECT name, ST_AsText(coords) FROM places WHERE ST_DWithin(coords, ST_GeomFromText('POINT(-12.5842 24.4944)',4326), 1) 対 SELECT name, ST_AsText(coords) FROM places WHERE ST_Distance(coords, ST_GeomFromText('POINT(-12.5842 24.4944)',4326)) < 1

2
QGISでx km以内に他のポイントがないシェープファイル内のポイントを特定する
これはおそらく素朴な質問ですが、私はQGISの新規ユーザーとして苦労しています。 非常に大きなシェープファイルを持っています(275,000ポイントですが、必要に応じて処理を高速化するためにこれを約10個のサブリージョンに分割できます)。 200メートル以内に他のポイントがないすべてのポイントを識別し、ファイルのフィールドに値「unique」を使用してそれらの各ポイントをコーディングします。 ローカルクラスタの一部である他のすべてのポイントについては、それらを「クラスタ化された」ものとしてコーディングします。 それを達成したら、各クラスターに対してランダムに1つだけを選択して、データセットに保持し、他のクラスターは破棄したいと思います。 現在、ステップ1を達成できていないため、サポートを歓迎します。


3
PyQGISのループで空間クエリを実行する
私がやろうとしていること:ポイントシェープファイルをループして、ポリゴンに該当する各ポイントを選択します。 次のコードは、本で見つけた空間クエリの例に基づいています。 mitte_path = r"D:\PythonTesting\SelectByLocation\mitte.shp" punkte_path = r"D:\PythonTesting\SelectByLocation\punkte.shp" polygon = QgsVectorLayer(mitte_path, 'Mitte', 'ogr') points = QgsVectorLayer(punkte_path, 'Berlin Punkte', 'ogr') QgsMapLayerRegistry.instance().addMapLayer(polygon) QgsMapLayerRegistry.instance().addMapLayer(points) polyFeatures = polygon.getFeatures() pointsCount = 0 for poly_feat in polyFeatures: polyGeom = poly_feat.geometry() pointFeatures = points.getFeatures(QgsFeatureRequest().setFilterRect(polyGeom.boundingBox())) for point_feat in pointFeatures: points.select(point_feat.id()) pointsCount += 1 print 'Total:',pointsCount これは機能し、データセットを選択しますが、問題はバウンディングボックスによって選択されるため、明らかに興味のないポイントを返すことです。 qgis:selectbylocationを使用せずにポリゴン内のポイントのみを返すにはどうすればよいですか? 私はwithin()およびintersects()メソッドを使用しようとしましたが、それらを機能させなかったため、上記のコードに頼りました。しかし、おそらくそれらは結局のところ鍵です。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.