我有一个用 QGIS 创建的 Spatialite 数据库,其中包含 200000 多个多边形,还有更多我想计算的点。我希望只加载当前视口范围所需的多边形。
我有 xmin、xmax、ymin、ymax,但我似乎无法弄清楚如何正确形成查询以检索部分通过给定范围的所有多边形。下面是一个使用我的所有变量(未工作或未测试)的快速组合示例。如果您想了解代码结构,我正在使用 express、sqlite、spaitalite 和 nodejs 进行这些查询。
var query = 'SELECT ogc_fid,pkid,xmin,xmax,ymin,ymax, AsText(GEOMETRY) as geom '
+'FROM idx_layer_GEOMETRY '
+'INNER JOIN layer ON pkid = ogc_fid '
+'WHERE '
+'( '+req.query.xmin+' < xmin '
+'AND '+req.query.xmax+' > xmax '
+'AND '+req.query.ymin+' < ymin '
+'AND '+req.query.ymax+' > ymax )'