我正在尝试从我的PostGIS数据库中选择位于特定边界框内的地点。我尝试使用以下查询来完成此操作:
//latlong - latitude, longitude of a place
SELECT * FROM places WHERE St_Contains(St_GeomFromText('Polygon((:top_left_long :top_left_lat, :bottom_right_long :bottom_right_lat))'), latlong);
首先,我遇到了以下错误:
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: :top_left_lat
这是什么意思?第二个问题是 - 我是否按正确的顺序输入这些参数?我的意思是 - 先经度,然后纬度?
ST_SetSRID
要将the_geom
作为第二个参数!? - Bibhas DebnathST_MakeBox2D(geometry pointLowLeft, geometry pointUpRight);
函数的参数是左下角和右上角的点。 - Bibhas Debnath