使用Spark/Java的stu
我有以下数据帧:使用Spark/Java的stu,java,apache-spark,geospark,Java,Apache Spark,Geospark,我有以下数据帧: +-------------+-----------------+------------------+ |longitude |latitude |geom | +-------------+-----------------+------------------+ |-7.07378166 |33.826661 [00 00 00 00 01 0..| |-7.5952683 |33.544191
+-------------+-----------------+------------------+
|longitude |latitude |geom |
+-------------+-----------------+------------------+
|-7.07378166 |33.826661 [00 00 00 00 01 0..|
|-7.5952683 |33.544191 [00 00 00 00 01 0..|
+-------------+-----------------+------------------+
我正在使用以下代码:
Dataset<Row> result_f = sparkSession.sql("select * from data_f where ST_WITHIN(ST_GeomFromText(CONCAT('POINT(',longitude_f,' ',latitude_f,')',4326)),geom)");
result_f.show();
编辑
longitude : Double type
latitude : Double type
geom : Binary type
有什么想法吗?我需要你的帮助
谢谢我不认为ST_GeomFromText可用作从文本构建几何体,但有:
- ST_GeomFromWKT
- 圣彼得堡
- ST_GeomFromGeoJSON
- 圣普
- ST_PointFromText
- ST_Polygon FromText
- ST_LineStringFromText
- ST_Polygon信封
- 圣卢西亚
ST_点
或ST_点fromtext
,然后在
大概是这样的:
Dataset<Row> result_f = sparkSession.sql("select * from data_f where ST_WITHIN(ST_Point(CAST(data_f.latitude AS Decimal(24,20)), CAST(data_f.longitude AS Decimal(24,20))),geom)");
result_f.show();
Dataset result\u f=sparkSession.sql(“从数据中选择*,其中stu在其中(stu点(CAST(数据纬度为十进制(24,20)),CAST(数据经度为十进制(24,20))),geom)”;
结果显示();
感谢您的回复,但我总是收到相同的错误。请打印数据框架的架构。请查看编辑帖子
Dataset<Row> result_f = sparkSession.sql("select * from data_f where ST_WITHIN(ST_Point(CAST(data_f.latitude AS Decimal(24,20)), CAST(data_f.longitude AS Decimal(24,20))),geom)");
result_f.show();