思路:造一个存有全国每个城市边界经纬度的信息表,把经纬度点使用算法公式按照一定的逻辑挨个循环去匹配。
处理过程中的城市经纬度Map类似于如下:
如果要全国的可以访问如下链接下载相对应的csv
https://download.csdn.net/download/Aaron_ch/16165798
全部实现逻辑代码如下:
import org.apache.spark.SparkConf;
import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SparkSession;
import org.apache.spark.sql.api.java.UDF2;
import org.apache.spark.sql.types.DataTypes;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* @Author: aaron
* @Date: 2021/3/8 18:11
* @Description:
*/
public class JustDoIt {
static boolean isInLongLat(double ALon, double ALat, double[][] APoints) {
boolean bRet = false;
int iSu