Questions tagged «spatial-query»

1
PostGIS中用于邻近搜索的ST_DWithin和ST_Distance有什么区别?
我有存储在表中的记录,而纬度/经度坐标存储在几何字段中。我想查找用户提供的参考点附近的所有记录。注意“附近”可能意味着小于100公里(可能更小)。 我看到的大多数示例都可以使用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识别shapefile中x公里内没有其他点的点
这可能是一个幼稚的问题,但作为QGIS的新用户,我一直在努力。 我有一个非常大的shapefile(275,000个点,但是可以将其分成大约10个子区域,以便进行更快的处理)。 我想识别200米之内没有其他点的所有点,然后在文件的字段中用值“ unique”对每个点进行编码。 然后,对于属于本地集群的所有其他点,我想将其编码为“集群”。 实现这一目标后,我想为每个群集随机选择一个,以保留在数据集中,而丢弃其他群集。 目前,我无法完成第1步,因此欢迎您提供任何帮助。


3
在PyQGIS中循环执行空间查询
我所试图做的事:循环通过一个点shapefile,然后选择属于每个点为一个多边形。 以下代码受我在一本书中发现的空间查询示例的启发: 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 这有效,并且确实选择了数据集,但是问题在于它是通过bounding box选择的,因此显然返回的点我不感兴趣: 如何不使用qgis:selectbylocation仅返回多边形内的点? …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.