使用SAP HANA Spatial,如何查询圈子中包含的所有点?理想情况下,我想指定中心的纬度和经度,以及半径。
例如,选择半径为10公里的“柏林 - 亚历山大广场”(52.5219184 13.4132147)周围的所有地标。
PS。尝试一下:
创建数据库表:单击打开SQL控制台(Command-Alt-C)按钮,输入以下SQL代码并单击运行(F8)按钮。
CREATE COLUMN TABLE "COORDINATES" ("LOCATION_NAME" VARCHAR(100), "COORDINATE" ST_POINT(0) CS_POINT);
INSERT INTO "COORDINATES" VALUES ('Berlin - Brandenburger Tor', NEW ST_Point('POINT(52.5162746 13.377704)'));
INSERT INTO "COORDINATES" VALUES ('Berlin - Gendarmenmarkt', NEW ST_Point('POINT(52.5137224 13.3926698)'));
INSERT INTO "COORDINATES" VALUES ('Paris - Tour Eiffel', NEW ST_Point('POINT(48.8583701 2.2944813)'));
要按矩形查询,请触发以下语句。
SELECT LOCATION_NAME, COORDINATE.ST_ASGEOJSON() FROM COORDINATES WHERE (NEW ST_Polygon('Polygon((52 13, 52 14, 53 14, 53 13, 52 13))').ST_Contains(COORDINATE)) = 1;
答案 0 :(得分:0)
圆圈中心点与物体之间的距离是否需要小于半径? 像
这样的东西SELECT LOCATION_NAME, COORDINATE.ST_ASGEOJSON()
FROM COORDINATES
WHERE
COORDINATE.ST_Distance( NEW ST_Point('POINT(52.5162746 13.377704)')) <= 2;
这里我只是将Brandenburger Tor的坐标和半径设置为2 - 但你应该得到图片。