免费开源的地图解析工具【快速上手】

news2024/11/29 8:38:12

视频学习地址


这篇文章和【Nominatim】是相呼应的,在尝试了OSM数据一直有问题之后,通过别人的指点是不是可以换个思路,我的数据只需要精确到市级别,也可以不用OSM这样全的数据(主要原因还是OSM太过庞大了)

在网上看到有人发布的一个地址解析和逆地址解析的SDK(下面称为 Geo),觉得是个思路,随即进行了数据测试

  1. 我的数据要求是精确到市,所以我的测试也只到这里,需要更细的力度要自己再去尝试
  2. 通过Geo返回的数据和腾讯地图API接口返回的数据进行对比
  3. 字符串对比省、市
  4. 经纬度地址相差 10km之内

Geo 文档
https://blog.csdn.net/deng0515001/article/details/99606156
https://github.com/deng0515001/lnglat2Geo


测试问题

地址解析


测试代码

@Test
void compareGeocodingTest() throws InterruptedException {

    List<String> list = getAddressList();
    for (String address : list) {

        Result<AddressGlobalCoordinatesDTO> wx = wxMapService.getAddressGlobalCoordinates(address);
        GeoAddress geoByAddress = getGeoByAddress(address);
        
        System.out.println(address);
        System.out.println(geoByAddress);
        System.out.println(wx.getData());

        Thread.sleep(200);

        Assertions.assertEquals(geoByAddress.getProvince(), wx.getData().getProvince());
        Assertions.assertEquals(geoByAddress.getCity(), wx.getData().getCity());

        double v = calculateDistance(geoByAddress.getLat(), geoByAddress.getLon(), wx.getData().getLatitude() + "", wx.getData().getLongitude() + "");
        Assertions.assertTrue(v < 10D);
    }
}

测试问题

问题描述问题案例问题解决
直辖市、香港、澳门,这些地区不是市级,是省级北京市、天津市、上海市、重庆市获取直辖市的时候,把它们看作省份
经纬度,相差较大(超过 10km)南平市(83km)
【X】118.17771, 26.641774
【T】118.08333, 27.38155

北京市 (27km)
【X】116.407394, 39.904211
【T】116.724502,39.905023

河池市(60km)
【X】108.085261, 24.692931
【T】108.63654, 24.48503

遵义市(10km)
【X】106.927389, 27.725654
【T】107.031922, 27.721931

海东市(27km)
【X】102.104287, 36.502039
【T】102.41029, 36.473864

铁门关市(15km)
【X】85.501217, 41.82725
【T】85.670291, 41.862997
这个不一定就是问题,如果想解决,可以参考下面的【数据替换】
解析出来是那曲地区那曲市特殊处理
香港、澳门,没有带特别行政区域香港、澳门不用处理
没有经纬度的数据台湾省的数据没有经纬度特殊处理、数据替换
有些地方现在名称和数据叫法不一样台湾省的【桃园市】显示为【桃园县】

逆地址解析


为了测试的覆盖率,选择让GPT生成了很多的数据,但是GPT生成的数据不一定准确,它可能把唐山的数据归类到了天津,但这个没关系,只要最终和腾讯地图一致即可

在这里插入图片描述


  1. 直辖市需要特殊处理层级
  2. 地区命名不一致:西藏自治区,那曲地区
  3. 澳门的识别率不是很好
  4. 海上识别不好
  5. 部分边界地区会识别错误,腾讯地图也会,概率也很小,都是些很犄角旮旯的地方

问题解决


地址解析

对于地址解析最大的问题是数据不全,最开始我想手动设置一些数据到它的Map里面去,但测试了很久都不行,发现它返回的Map是一个不可更改的Map

它底层使用的数据是二进制的,尝试破解了一下,还没成功(应该是可以的,但是算了)

最终选择手动在返回数据的时候进行处理

public static GeoAddress searchAddress(String address) {

    List<String> list = Arrays.asList("北京市", "上海市","天津市", "重庆市","香港", "澳门");

    GeoAddress result;

    address = queryAddressConvert(address);

    // 获取特殊城市的数据
    if (list.contains(address)) {
        result = getGeoAddressByProvince(address);
    } else {
        result = getGeoAddressByCity(address);
    }

    // 为了测试数据,暂时处理一下香港澳门的数据
    tempHandler(result, address);

    // 数据补充
    extraData(result);

    // 返回数据转换
    cityConvert(result);


    return result;
}


private static String queryAddressConvert(String address) {
    java.util.HashMap<String, String> convertMap = new java.util.HashMap<>(30);
    convertMap.put("桃园市","桃园县");

    return convertMap.getOrDefault(address, address);
}

public static GeoAddress getGeoAddressByProvince(String province) {
    if (StringUtils.isBlank(province)) {
        return null;
    }

    Seq<Admin> adminNodes = GeoTrans.normalizeName(province, null, null, null, false);
    if (adminNodes == null || adminNodes.isEmpty()) {
        return null;
    }
    return new GeoAddress(adminNodes.head().province(), adminNodes.head().province(), adminNodes.head().center().lng() + "",   adminNodes.head().center().lat() + "");
}

public static GeoAddress getGeoAddressByCity(String city) {
    if (StringUtils.isBlank(city)) {
        return null;
    }


    Seq<Admin> adminNodes = GeoTrans.normalizeName(null, city, null, null, false);
    if (adminNodes == null || adminNodes.isEmpty()) {
        return null;
    }

    return new GeoAddress(adminNodes.head().province(), adminNodes.head().city(), adminNodes.head().center().lng() + "",   adminNodes.head().center().lat() + "");
}


private static void tempHandler(GeoAddress result, String address) {
    if (result != null && address.equals("香港")) {
        result.setProvince("");
        result.setCity("香港特别行政区");
    }

    if (result != null && address.equals("澳门")) {
        result.setProvince("");
        result.setCity("澳门特别行政区");
    }
}

private static void extraData(GeoAddress geoAddress) {

    java.util.HashMap<Object, Location> locationMap = new java.util.HashMap<>(30);

    locationMap.put("台北市", new Location(121.56355, 25.03737));
    locationMap.put("新北市", new Location(121.46575, 25.01195));
    locationMap.put("桃园县", new Location(121.30111, 24.99363));
    locationMap.put("台中市", new Location(120.64821, 24.16324));
    locationMap.put("台南市", new Location(120.18476, 22.99124));
    locationMap.put("高雄市", new Location(120.31226, 22.62014));
    locationMap.put("基隆市", new Location(121.74479, 25.13162));
    locationMap.put("新竹市", new Location(120.96893, 24.80619));
    locationMap.put("嘉义市", new Location(120.45358, 23.48151));
    locationMap.put("新竹县", new Location(121.012907, 24.826875));
    locationMap.put("苗栗县", new Location(120.82059, 24.564385));
    locationMap.put("彰化县", new Location(120.544633, 24.075658));
    locationMap.put("南投县", new Location(120.690507, 23.902674));
    locationMap.put("云林县", new Location(120.530053, 23.696387));
    locationMap.put("嘉义县", new Location(120.292891, 23.458617));
    locationMap.put("屏东县", new Location(120.487721, 22.683328));
    locationMap.put("宜兰县", new Location(121.763137, 24.731425));
    locationMap.put("花莲县", new Location(121.620636, 23.991337));
    locationMap.put("台东县", new Location(121.150552, 22.755332));
    locationMap.put("澎湖县", new Location(119.570704, 23.567297));


    if (locationMap.containsKey(geoAddress.getCity())) {
        Location location = locationMap.get(geoAddress.getCity());

        geoAddress.setLat(String.valueOf(location.lat()));
        geoAddress.setLon(String.valueOf(location.lng()));
    }
}

private static void cityConvert(GeoAddress result) {
    java.util.HashMap<String, String> convertMap = new java.util.HashMap<>(30);
    convertMap.put("桃园县","桃园市");
    convertMap.put("那曲地区","那曲市");

    result.setCity(convertMap.getOrDefault(result.getCity(), result.getCity()));
}

逆地址解析

public static GeoAddress reverseAddress(String lon, String lat) {
    List<String> list = Arrays.asList("北京市", "上海市","天津市", "重庆市");
    Admin admin = GeoTrans.determineAdmin(Double.parseDouble(lon), Double.parseDouble(lat), null, false);


    // 直辖市
    if (list.contains(admin.province())) {
        return new GeoAddress(admin.province(), admin.province(), null, null);

    }

    return new GeoAddress(admin.province(), admin.city(), null, null);
}

测试数据


地址解析

数据是让GPT生成的,中国市级以上的区域,GPT回答有 339个,我测试了 383个,几乎可以理解为全覆盖了

在这里插入图片描述

public static List<String> getAddressList() {
    List<String> list = new ArrayList<>(400);
    // 1. 北京市
    list.addAll(Arrays.asList("北京市"));

    // 2. 天津市
    list.addAll(Arrays.asList("天津市"));

    // 3. 河北省
    list.addAll(Arrays.asList("石家庄市", "唐山市", "秦皇岛市", "邯郸市", "邢台市", "保定市", "张家口市", "承德市", "沧州市", "廊坊市", "衡水市"));

    // 4. 山西省
    list.addAll(Arrays.asList("太原市", "大同市", "阳泉市", "长治市", "晋城市", "朔州市", "晋中市", "运城市", "忻州市", "临汾市", "吕梁市"));

    // 5. 内蒙古自治区
    list.addAll(Arrays.asList("呼和浩特市", "包头市", "乌海市", "赤峰市", "通辽市", "鄂尔多斯市", "呼伦贝尔市", "巴彦淖尔市", "乌兰察布市", "兴安盟", "锡林郭勒盟", "阿拉善盟"));

    // 6. 辽宁省
    list.addAll(Arrays.asList("沈阳市", "大连市", "鞍山市", "抚顺市", "本溪市", "丹东市", "锦州市", "营口市", "阜新市", "辽阳市", "盘锦市", "铁岭市", "朝阳市", "葫芦岛市"));

    // 7. 吉林省
    list.addAll(Arrays.asList("长春市", "吉林市", "四平市", "辽源市", "通化市", "白山市", "松原市", "白城市", "延边朝鲜族自治州"));

    // 8. 黑龙江省
    list.addAll(Arrays.asList("哈尔滨市", "齐齐哈尔市", "鸡西市", "鹤岗市", "双鸭山市", "大庆市", "伊春市", "佳木斯市", "七台河市", "牡丹江市", "黑河市", "绥化市"));

    // 9. 上海市
    list.addAll(Arrays.asList("上海市"));

    // 10. 江苏省
    list.addAll(Arrays.asList("南京市", "无锡市", "徐州市", "常州市", "苏州市", "南通市", "连云港市", "淮安市", "盐城市", "扬州市", "镇江市", "泰州市", "宿迁市"));

    // 11. 浙江省
    list.addAll(Arrays.asList("杭州市", "宁波市", "温州市", "嘉兴市", "湖州市", "绍兴市", "金华市", "衢州市", "舟山市", "台州市", "丽水市"));

    // 12. 安徽省
    list.addAll(Arrays.asList("合肥市", "芜湖市", "蚌埠市", "淮南市", "马鞍山市", "淮北市", "铜陵市", "安庆市", "黄山市", "滁州市", "阜阳市", "宿州市", "六安市", "亳州市", "池州市", "宣城市"));

    // 13. 福建省
    list.addAll(Arrays.asList("福州市", "厦门市", "莆田市", "三明市", "泉州市", "漳州市", "南平市", "龙岩市", "宁德市"));

    // 14. 江西省
    list.addAll(Arrays.asList("南昌市", "景德镇市", "萍乡市", "九江市", "新余市", "鹰潭市", "赣州市", "吉安市", "宜春市", "抚州市", "上饶市"));

    // 15. 山东省
    list.addAll(Arrays.asList("济南市", "青岛市", "淄博市", "枣庄市", "东营市", "烟台市", "潍坊市", "济宁市", "泰安市", "威海市", "日照市", "临沂市", "德州市", "聊城市", "滨州市", "菏泽市"));

    // 16. 河南省
    list.addAll(Arrays.asList("郑州市", "开封市", "洛阳市", "平顶山市", "安阳市", "鹤壁市", "新乡市", "焦作市", "濮阳市", "许昌市", "漯河市", "三门峡市", "南阳市", "商丘市", "信阳市", "周口市", "驻马店市", "济源市"));

    // 17. 湖北省
    list.addAll(Arrays.asList("武汉市", "黄石市", "十堰市", "宜昌市", "襄阳市", "鄂州市", "荆门市", "孝感市", "荆州市", "黄冈市", "咸宁市", "随州市", "恩施土家族苗族自治州", "仙桃市", "潜江市", "天门市", "神农架林区"));

    // 18. 湖南省
    list.addAll(Arrays.asList("长沙市", "株洲市", "湘潭市", "衡阳市", "邵阳市", "岳阳市", "常德市", "张家界市", "益阳市", "郴州市", "永州市", "怀化市", "娄底市", "湘西土家族苗族自治州"));

    // 19. 广东省
    list.addAll(Arrays.asList("广州市", "韶关市", "深圳市", "珠海市", "汕头市", "佛山市", "江门市", "湛江市", "茂名市", "肇庆市", "惠州市", "梅州市", "汕尾市", "河源市", "阳江市", "清远市", "东莞市", "中山市", "潮州市", "揭阳市", "云浮市"));

    // 20. 广西壮族自治区
    list.addAll(Arrays.asList("南宁市", "柳州市", "桂林市", "梧州市", "北海市", "防城港市", "钦州市", "贵港市", "玉林市", "百色市", "贺州市", "河池市", "来宾市", "崇左市"));

    // 21. 海南省
    list.addAll(Arrays.asList("海口市", "三亚市", "三沙市", "儋州市", "五指山市", "琼海市", "文昌市", "万宁市", "东方市", "定安县", "屯昌县", "澄迈县", "临高县", "白沙黎族自治县", "昌江黎族自治县", "乐东黎族自治县", "陵水黎族自治县", "保亭黎族苗族自治县", "琼中黎族苗族自治县"));

    // 22. 重庆市
    list.addAll(Arrays.asList("重庆市"));

    // 23. 四川省
    list.addAll(Arrays.asList("成都市", "自贡市", "攀枝花市", "泸州市", "德阳市", "绵阳市", "广元市", "遂宁市", "内江市", "乐山市", "南充市", "眉山市", "宜宾市", "广安市", "达州市", "雅安市", "巴中市", "资阳市", "阿坝藏族羌族自治州", "甘孜藏族自治州", "凉山彝族自治州"));

    // 24. 贵州省
    list.addAll(Arrays.asList("贵阳市", "六盘水市", "遵义市", "安顺市", "毕节市", "铜仁市", "黔西南布依族苗族自治州", "黔东南苗族侗族自治州", "黔南布依族苗族自治州"));

    // 25. 云南省
    list.addAll(Arrays.asList("昆明市", "曲靖市", "玉溪市", "保山市", "昭通市", "丽江市", "普洱市", "临沧市", "楚雄彝族自治州", "红河哈尼族彝族自治州", "文山壮族苗族自治州", "西双版纳傣族自治州", "大理白族自治州", "德宏傣族景颇族自治州", "怒江傈僳族自治州", "迪庆藏族自治州"));

    // 26. 西藏自治区
    list.addAll(Arrays.asList("拉萨市", "日喀则市", "昌都市", "林芝市", "山南市", "那曲市", "阿里地区"));

    // 27. 陕西省
    list.addAll(Arrays.asList("西安市", "铜川市", "宝鸡市", "咸阳市", "渭南市", "延安市", "汉中市", "榆林市", "安康市", "商洛市"));

    // 28. 甘肃省
    list.addAll(Arrays.asList("兰州市", "嘉峪关市", "金昌市", "白银市", "天水市", "武威市", "张掖市", "平凉市", "酒泉市", "庆阳市", "定西市", "陇南市", "临夏回族自治州", "甘南藏族自治州"));

    // 29. 青海省
    list.addAll(Arrays.asList("西宁市", "海东市", "海北藏族自治州", "黄南藏族自治州", "海南藏族自治州", "果洛藏族自治州", "玉树藏族自治州", "海西蒙古族藏族自治州"));

    // 30. 宁夏回族自治区
    list.addAll(Arrays.asList("银川市", "石嘴山市", "吴忠市", "固原市", "中卫市"));

    // 31. 新疆维吾尔自治区
    list.addAll(Arrays.asList("乌鲁木齐市", "克拉玛依市", "吐鲁番市", "哈密市", "昌吉回族自治州", "博尔塔拉蒙古自治州", "巴音郭楞蒙古自治州", "阿克苏地区", "克孜勒苏柯尔克孜自治州", "喀什地区", "和田地区", "伊犁哈萨克自治州", "塔城地区", "阿勒泰地区", "石河子市", "阿拉尔市", "图木舒克市", "五家渠市", "铁门关市"));

    // 32. 香港特别行政区
    list.addAll(Arrays.asList("香港"));

    // 33. 澳门特别行政区
    list.addAll(Arrays.asList("澳门"));

    // 34. 台湾省
    list.addAll(Arrays.asList("台北市", "新北市", "桃园市", "台中市", "台南市", "高雄市", "基隆市", "新竹市", "嘉义市", "新竹县", "苗栗县", "彰化县", "南投县", "云林县", "嘉义县", "屏东县", "宜兰县", "花莲县", "台东县", "澎湖县"));

    return list;
}


逆地址解析

自己标点的数据

    public static List<String> getLatAndLon() {
        List<String> list = new ArrayList<>(100);

        // 1. 北京市
        list.addAll(Arrays.asList("116.297254,39.959831", "116.63358,39.962485","116.920463,39.66453","116.108107,39.618302"));
        // 2. 天津市
        list.addAll(Arrays.asList("117.298353,39.110591", "117.504747,39.184459","116.989623,39.039334","116.970076,39.396674"));
        // 3. 上海市
        list.addAll(Arrays.asList("121.471341,31.223825", "121.692684,31.297415","121.707057,31.394623","121.198831,31.002707"));
        // 4. 重庆市
        list.addAll(Arrays.asList("106.543489,29.564724", "106.724588,29.70436","106.716539,29.429422","106.513594,29.928471"));
        // 5. 河北省
        list.addAll(Arrays.asList("114.524521,38.062976", "115.0063,37.817554","114.711943,37.642203","115.545499,38.991999"));
        // 6. 山西省
        list.addAll(Arrays.asList("112.627442,38.018007", "113.758876,40.106066","110.815309,35.224449","112.50786,39.964645"));
        // 7. 辽宁省
        list.addAll(Arrays.asList("123.445053,41.566185", "125.137604,41.038984","123.909585,43.189312","120.432496,41.559276"));
        // 8. 吉林省
        list.addAll(Arrays.asList("125.353773,43.832041", "126.623186,43.845358","129.299993,43.041049","124.82945,45.14891"));
        // 9. 黑龙江省
        list.addAll(Arrays.asList("126.623186,45.783246", "130.357837,46.822411","130.311844,47.362688","129.750726,44.513968"));
        // 10. 江苏省
        list.addAll(Arrays.asList("119.117089,32.062964", "119.337856,33.892665","118.417992,33.83127", "120.000159,31.686168"));
        // 11. 浙江省
        list.addAll(Arrays.asList("120.264405,30.24526", "119.703287,29.072235", "118.912203,28.959031", "120.549563,28.073396"));
        // 12. 安徽省
        list.addAll(Arrays.asList("117.348433,31.813688", "118.452271,31.301681", "118.332688,29.676542", "116.888501,32.408727"));
        // 13. 福建省
        list.addAll(Arrays.asList("119.307745,26.022591", "118.636244,25.046098", "117.651988,26.238491", "117.596796,24.432803"));
        // 14. 江西省
        list.addAll(Arrays.asList("115.858252,28.61055", "116.373376,27.861039","113.917337,27.656453","114.98438,25.731322"));
        // 15. 山东省
        list.addAll(Arrays.asList("117.265645,36.551037", "118.001537,37.377781","120.503569,36.149201","121.441832,37.451157"));
        // 16. 河南省
        list.addAll(Arrays.asList("113.604583,34.711205", "114.009324,33.054075","112.583533,33.077312","111.51649,36.06709"));
        // 17. 湖北省
        list.addAll(Arrays.asList("114.418663,30.538336", "112.358166,31.173237","108.991461,30.171353","110.988143,32.423754"));
        // 18. 湖南省
        list.addAll(Arrays.asList("112.993448,28.146201", "112.643899,26.850141","113.085434,25.772358","109.497962,28.747861"));
        // 19. 广东省
        list.addAll(Arrays.asList("113.306202,23.196546", "113.379791,22.599956","112.147172,22.017895","110.270648,20.482894"));
        // 20. 海南省
        list.addAll(Arrays.asList("109.516359,18.49391", "110.252251,19.735578","109.093221,19.177123","110.105072,19.10718"));
        // 21. 四川省
        list.addAll(Arrays.asList("103.816235,30.581157", "103.779441,29.605253" ,"106.888584,31.736116","104.975265,29.267047"));
        // 22. 贵州省
        list.addAll(Arrays.asList("106.723008,26.67014", "106.263076,25.890602","106.263076,25.890602","108.41556,26.289326"));
        // 23. 云南省
        list.addAll(Arrays.asList("102.822781,24.686295", "103.889825,25.490513","102.142081,25.77405","104.110592,23.690556"));
        // 24. 陕西省
        list.addAll(Arrays.asList("109.02267,34.232222", "109.97933,33.880018","109.77696,38.297934","108.765108,36.833507"));
        // 25. 甘肃省
        list.addAll(Arrays.asList("104.073798,36.105386", "105.821541,34.537283","100.523119,38.717169","97.873909,39.775754"));
        // 26. 青海省
        list.addAll(Arrays.asList("101.755738,36.551994", "99.805625,35.955944","98.6098,37.701032","97.855511,38.515087"));
        // 27. 台湾省
        list.addAll(Arrays.asList("121.164886,24.619037", "120.355405,23.876797","120.3922,22.65293","120.337008,23.690556"));
        // 28. 内蒙古自治区
        list.addAll(Arrays.asList("118.773238,42.310369", "113.143665,41.347166","111.800662,40.832154","110.016124,40.804199"));
        // 29. 广西壮族自治区
        list.addAll(Arrays.asList("108.544341,23.028092", "107.440503,22.379431","109.243438,21.830803","106.355062,23.91063"));
        // 30. 西藏自治区
        /**
         * 92.07876,31.389545
         * Admin(中国,西藏自治区,那曲地区,那曲县,未知,district,CN,540000,542400,542421,-1,Location(92.0535,31.469643))
         * AddressComponent{nation='中国', province='西藏自治区', city='那曲市', district='色尼区', street=''}
         */
        list.addAll(Arrays.asList("94.32323,29.62133", "91.103703,29.717735"
//                ,"92.07876,31.389545"
                ,"90.073455,29.073277"));
        // 31. 宁夏回族自治区
        list.addAll(Arrays.asList("106.483843,39.019214", "106.207884,38.486171","105.232827,37.408086","106.355062,35.985855"));
        // 32. 新疆维吾尔自治区
        list.addAll(Arrays.asList("87.51623,43.767755", "84.959006,45.385045","82.069912,43.006854","87.86506,47.636564"));
        // 33. 香港特别行政区
        list.addAll(Arrays.asList("114.13985,22.388687", "114.145599,22.494512", "113.960476,22.276359", "114.206037,22.467697"));
        // 34. 澳门特别行政区
        list.addAll(Arrays.asList("113.570108,22.16153",
//                "113.594255,22.14948",
                "113.569821,22.162601","113.566084,22.164208"));

        return list;
    }

GPT随机数据

    public static List<String> getLatAndLonByChapGPT() {
        List<String> list = new ArrayList<>(400);


        // 1. 北京市
        list.addAll(Arrays.asList("116.297254,39.959831", "116.63358,39.962485", "116.920463,39.66453", "116.108107,39.618302",
                "116.411845,39.924091", "116.286968,39.900872", "116.491312,39.926778", "116.654146,39.932827",
                "116.251925,39.994646", "116.200987,39.904211", "116.468432,39.948574", "116.395645,39.929986",
                "116.248283,39.877843", "116.365798,39.980849", "116.490639,39.961455", "116.419146,39.927237",
                "116.320587,39.935445", "116.493609,39.996014", "116.332256,39.894891", "116.389315,39.939716"));

        // 2. 天津市
        list.addAll(Arrays.asList("117.298353,39.110591", "117.504747,39.184459", "116.989623,39.039334", "116.970076,39.396674",
                "117.190182,39.125596", "117.339451,39.09774", "117.221817,39.087764", "117.202814,39.141676",
                "117.375481,39.123316", "117.497595,39.163487", "117.273536,39.183157", "117.328584,39.088227",
                "117.40746,39.14393", "117.281195,39.201634", "117.158542,39.132702", "117.328518,39.09552",
                "117.38282,39.16502", "117.150318,39.163586", "117.407137,39.142923", "117.266957,39.173178"));

        // 3. 上海市
        list.addAll(Arrays.asList("121.471341,31.223825", "121.692684,31.297415", "121.707057,31.394623", "121.198831,31.002707",
                "121.473701,31.230416", "121.474514,31.232275", "121.476285,31.22718", "121.479424,31.23484",
                "121.482337,31.229276", "121.485448,31.225953", "121.488123,31.231597", "121.490871,31.237449",
                "121.493927,31.239368", "121.496689,31.234749", "121.499271,31.230697", "121.502247,31.226852",
                "121.50512,31.222631", "121.507895,31.218827", "121.510668,31.21523", "121.513443,31.211437"));

        // 4. 重庆市
        list.addAll(Arrays.asList("106.543489,29.564724", "106.724588,29.70436", "106.716539,29.429422", "106.513594,29.928471",
                "106.551556,29.563009", "106.552925,29.569575", "106.553947,29.573722", "106.556183,29.578891",
                "106.557742,29.583991", "106.560086,29.588964", "106.561534,29.593847", "106.563071,29.598602",
                "106.565298,29.603094", "106.566813,29.607643", "106.568144,29.61219", "106.570463,29.616688",
                "106.572729,29.621129", "106.574857,29.625526", "106.576998,29.629855", "106.579111,29.634138"));

        // 5. 河北省
        list.addAll(Arrays.asList("114.51486,38.042307", "114.51486,37.887452", "114.51486,37.978665", "114.51486,38.067369",
                "114.51486,38.158587", "114.51486,38.246814", "114.51486,38.334142", "114.51486,38.421613",
                "114.51486,38.509221", "114.51486,38.596878", "114.51486,38.684529", "114.51486,38.772118",
                "114.51486,38.859601", "114.51486,38.947008", "114.51486,39.034312", "114.51486,39.121498",
                "114.51486,39.208543", "114.51486,39.295451", "114.51486,39.382232", "114.51486,39.46889"));

        // 6. 山西省
        list.addAll(Arrays.asList("112.548879,37.87059", "112.548879,37.923788", "112.548879,37.979005", "112.548879,38.033161",
                "112.548879,38.087378", "112.548879,38.141595", "112.548879,38.195812",
//                "112.548879,38.250029",
                "112.548879,38.304246", "112.548879,38.358463", "112.548879,38.41268", "112.548879,38.466897",
                "112.548879,38.521114", "112.548879,38.575331", "112.548879,38.629548", "112.548879,38.683765",
                "112.548879,38.737982", "112.548879,38.792199", "112.548879,38.846416", "112.548879,38.900633"));

        // 7. 内蒙古自治区
        list.addAll(Arrays.asList("111.670801,40.818311", "111.670801,40.883181", "111.670801,40.948051", "111.670801,41.012921",
                "111.670801,41.077791", "111.670801,41.142661", "111.670801,41.207531", "111.670801,41.272401",
                "111.670801,41.337271", "111.670801,41.402141", "111.670801,41.467011", "111.670801,41.531881",
                "111.670801,41.596751", "111.670801,41.661621", "111.670801,41.726491", "111.670801,41.791361",
                "111.670801,41.856231", "111.670801,41.921101", "111.670801,41.985971", "111.670801,42.050841"));

        // 8. 辽宁省
        list.addAll(Arrays.asList("123.429096,41.796767", "123.429096,41.847113", "123.429096,41.897459", "123.429096,41.947805",
                "123.429096,41.998151", "123.429096,42.048497", "123.429096,42.098843", "123.429096,42.149189",
                "123.429096,42.199535", "123.429096,42.249881", "123.429096,42.300227", "123.429096,42.350573",
                "123.429096,42.400919", "123.429096,42.451265", "123.429096,42.501611", "123.429096,42.551957",
                "123.429096,42.602303", "123.429096,42.652649", "123.429096,42.702995", "123.429096,42.753341"));

        // 9. 吉林省
        list.addAll(Arrays.asList("125.3245,43.886841", "125.3245,43.936687", "125.3245,43.986533", "125.3245,44.036379",
                "125.3245,44.086225", "125.3245,44.136071", "125.3245,44.185917", "125.3245,44.235763",
                "125.3245,44.285609", "125.3245,44.335455", "125.3245,44.385301", "125.3245,44.435147",
                "125.3245,44.484993", "125.3245,44.534839", "125.3245,44.584685", "125.3245,44.634531",
                "125.3245,44.684377", "125.3245,44.734223", "125.3245,44.784069", "125.3245,44.833915"));

        // 10. 黑龙江省
        list.addAll(Arrays.asList("126.642464,45.756967", "126.632464,45.746967", "126.652464,45.766967", "126.662464,45.776967",
                "126.672464,45.786967", "126.682464,45.796967", "126.692464,45.806967", "126.702464,45.816967",
                "126.712464,45.826967", "126.722464,45.836967", "126.732464,45.846967", "126.742464,45.856967",
                "126.752464,45.866967", "126.762464,45.876967", "126.772464,45.886967", "126.782464,45.896967",
                "126.792464,45.906967", "126.802464,45.916967", "126.812464,45.926967", "126.822464,45.936967"));

        // 11. 江苏省
        list.addAll(Arrays.asList("118.796877,32.060255", "118.786877,32.050255", "118.806877,32.070255", "118.816877,32.080255",
                "118.826877,32.090255", "118.836877,32.100255", "118.846877,32.110255", "118.856877,32.120255",
                "118.866877,32.130255", "118.876877,32.140255", "118.886877,32.150255", "118.896877,32.160255",
                "118.906877,32.170255", "118.916877,32.180255", "118.926877,32.190255", "118.936877,32.200255",
                "118.946877,32.210255", "118.956877,32.220255", "118.966877,32.230255", "118.976877,32.240255"));

        // 12. 浙江省
        list.addAll(Arrays.asList("120.152792,30.267447", "120.142792,30.257447", "120.162792,30.277447", "120.172792,30.287447",
                "120.182792,30.297447", "120.192792,30.307447", "120.202792,30.317447", "120.212792,30.327447",
                "120.222792,30.337447", "120.232792,30.347447", "120.242792,30.357447", "120.252792,30.367447",
                "120.262792,30.377447", "120.272792,30.387447", "120.282792,30.397447", "120.292792,30.407447",
                "120.302792,30.417447", "120.312792,30.427447", "120.322792,30.437447", "120.332792,30.447447"));

        // 13. 安徽省
        list.addAll(Arrays.asList("117.283042,31.86119", "117.273042,31.85119", "117.293042,31.87119", "117.303042,31.88119",
                "117.313042,31.89119", "117.323042,31.90119", "117.333042,31.91119", "117.343042,31.92119",
                "117.353042,31.93119", "117.363042,31.94119", "117.373042,31.95119", "117.383042,31.96119",
                "117.393042,31.97119", "117.403042,31.98119", "117.413042,31.99119", "117.423042,32.00119",
                "117.433042,32.01119", "117.443042,32.02119", "117.453042,32.03119", "117.463042,32.04119"));

        // 14. 福建省
        list.addAll(Arrays.asList("119.306239,26.075302", "119.296239,26.065302", "119.316239,26.085302", "119.326239,26.095302",
                "119.336239,26.105302", "119.346239,26.115302", "119.356239,26.125302", "119.366239,26.135302",
                "119.376239,26.145302", "119.386239,26.155302", "119.396239,26.165302", "119.406239,26.175302",
                "119.416239,26.185302", "119.426239,26.195302", "119.436239,26.205302", "119.446239,26.215302",
                "119.456239,26.225302", "119.466239,26.235302", "119.476239,26.245302", "119.486239,26.255302"));

// 15. 江西省
        list.addAll(Arrays.asList("115.858197,28.682892", "115.848197,28.672892", "115.868197,28.692892", "115.878197,28.702892",
                "115.888197,28.712892", "115.898197,28.722892", "115.908197,28.732892", "115.918197,28.742892",
                "115.928197,28.752892", "115.938197,28.762892", "115.948197,28.772892", "115.958197,28.782892",
                "115.968197,28.792892", "115.978197,28.802892", "115.988197,28.812892", "115.998197,28.822892",
                "116.008197,28.832892", "116.018197,28.842892", "116.028197,28.852892", "116.038197,28.862892"));

        // 16. 山东省
        list.addAll(Arrays.asList("117.000923,36.675807", "116.990923,36.665807", "117.010923,36.685807", "117.020923,36.695807",
                "117.030923,36.705807", "117.040923,36.715807", "117.050923,36.725807", "117.060923,36.735807",
                "117.070923,36.745807", "117.080923,36.755807", "117.090923,36.765807", "117.100923,36.775807",
                "117.110923,36.785807", "117.120923,36.795807", "117.130923,36.805807", "117.140923,36.815807",
                "117.150923,36.825807", "117.160923,36.835807", "117.170923,36.845807", "117.180923,36.855807"));

        // 17. 河南省
        list.addAll(Arrays.asList("113.665412,34.757975", "113.655412,34.747975", "113.675412,34.767975", "113.685412,34.777975",
                "113.695412,34.787975", "113.705412,34.797975", "113.715412,34.807975", "113.725412,34.817975",
                "113.735412,34.827975", "113.745412,34.837975", "113.755412,34.847975", "113.765412,34.857975",
                "113.775412,34.867975", "113.785412,34.877975", "113.795412,34.887975", "113.805412,34.897975",
                "113.815412,34.907975", "113.825412,34.917975", "113.835412,34.927975", "113.845412,34.937975"));

        // 18. 湖北省
        list.addAll(Arrays.asList("114.298572,30.584355", "114.288572,30.574355", "114.308572,30.594355", "114.318572,30.604355",
                "114.328572,30.614355", "114.338572,30.624355", "114.348572,30.634355", "114.358572,30.644355",
                "114.368572,30.654355", "114.378572,30.664355", "114.388572,30.674355", "114.398572,30.684355",
                "114.408572,30.694355", "114.418572,30.704355", "114.428572,30.714355", "114.438572,30.724355",
                "114.448572,30.734355", "114.458572,30.744355", "114.468572,30.754355", "114.478572,30.764355"));

        // 19. 湖南省
        list.addAll(Arrays.asList("112.982279,28.19409", "112.972279,28.18409", "112.992279,28.20409", "113.002279,28.21409",
                "113.012279,28.22409", "113.022279,28.23409", "113.032279,28.24409", "113.042279,28.25409",
                "113.052279,28.26409", "113.062279,28.27409", "113.072279,28.28409", "113.082279,28.29409",
                "113.092279,28.30409", "113.102279,28.31409", "113.112279,28.32409", "113.122279,28.33409",
                "113.132279,28.34409", "113.142279,28.35409", "113.152279,28.36409", "113.162279,28.37409"));

        // 20. 广东省
        list.addAll(Arrays.asList("113.280637,23.125178", "113.270637,23.115178", "113.290637,23.135178", "113.300637,23.145178",
                "113.310637,23.155178", "113.320637,23.165178", "113.330637,23.175178", "113.340637,23.185178",
                "113.350637,23.195178", "113.360637,23.205178", "113.370637,23.215178", "113.380637,23.225178",
                "113.390637,23.235178", "113.400637,23.245178", "113.410637,23.255178", "113.420637,23.265178",
                "113.430637,23.275178", "113.440637,23.285178", "113.450637,23.295178", "113.460637,23.305178"));

        // 21. 广西壮族自治区
        list.addAll(Arrays.asList("108.320004,22.82402", "108.310004,22.81402", "108.330004,22.83402", "108.340004,22.84402",
                "108.350004,22.85402", "108.360004,22.86402", "108.370004,22.87402", "108.380004,22.88402",
                "108.390004,22.89402", "108.400004,22.90402", "108.410004,22.91402", "108.420004,22.92402",
                "108.430004,22.93402", "108.440004,22.94402", "108.450004,22.95402", "108.460004,22.96402",
                "108.470004,22.97402", "108.480004,22.98402", "108.490004,22.99402", "108.500004,23.00402"));

        // 22. 海南省
        list.addAll(Arrays.asList("110.33119,20.031971", "110.32119,20.021971", "110.34119,20.041971", "110.35119,20.051971",
                "110.36119,20.061971", "110.37119,20.071971", "110.38119,20.081971",
//                "110.39119,20.091971",
//                "110.40119,20.101971",
                "110.41119,20.111971", "110.42119,20.121971", "110.43119,20.131971",
                "110.44119,20.141971", "110.45119,20.151971", "110.46119,20.161971", "110.47119,20.171971",
                "110.48119,20.181971", "110.49119,20.191971", "110.50119,20.201971", "110.51119,20.211971"));

        // 23. 四川省
        list.addAll(Arrays.asList("104.065735,30.659462", "104.055735,30.649462", "104.075735,30.669462", "104.085735,30.679462",
                "104.095735,30.689462", "104.105735,30.699462", "104.115735,30.709462", "104.125735,30.719462",
                "104.135735,30.729462", "104.145735,30.739462", "104.155735,30.749462", "104.165735,30.759462",
                "104.175735,30.769462", "104.185735,30.779462", "104.195735,30.789462", "104.205735,30.799462",
                "104.215735,30.809462", "104.225735,30.819462", "104.235735,30.829462", "104.245735,30.839462"));

        // 24. 贵州省
        list.addAll(Arrays.asList("106.713478,26.578343", "106.703478,26.568343", "106.723478,26.588343", "106.733478,26.598343",
                "106.743478,26.608343", "106.753478,26.618343", "106.763478,26.628343", "106.773478,26.638343",
                "106.783478,26.648343", "106.793478,26.658343", "106.803478,26.668343", "106.813478,26.678343",
                "106.823478,26.688343", "106.833478,26.698343", "106.843478,26.708343", "106.853478,26.718343",
                "106.863478,26.728343", "106.873478,26.738343", "106.883478,26.748343", "106.893478,26.758343"));

        // 25. 云南省
        list.addAll(Arrays.asList("102.712251,25.040609", "102.702251,25.030609", "102.722251,25.050609", "102.732251,25.060609",
                "102.742251,25.070609", "102.752251,25.080609", "102.762251,25.090609", "102.772251,25.100609",
                "102.782251,25.110609", "102.792251,25.120609", "102.802251,25.130609", "102.812251,25.140609",
                "102.822251,25.150609", "102.832251,25.160609", "102.842251,25.170609", "102.852251,25.180609",
                "102.862251,25.190609", "102.872251,25.200609", "102.882251,25.210609", "102.892251,25.220609"));

        // 26. 陕西省
        list.addAll(Arrays.asList("108.948024,34.263161", "108.938024,34.253161", "108.958024,34.273161", "108.968024,34.283161",
                "108.978024,34.293161", "108.988024,34.303161", "108.998024,34.313161", "109.008024,34.323161",
                "109.018024,34.333161", "109.028024,34.343161", "109.038024,34.353161", "109.048024,34.363161",
                "109.058024,34.373161", "109.068024,34.383161", "109.078024,34.393161", "109.088024,34.403161",
                "109.098024,34.413161", "109.108024,34.423161", "109.118024,34.433161", "109.128024,34.443161"));

        // 27. 甘肃省
        list.addAll(Arrays.asList("103.823557,36.058039", "103.813557,36.048039", "103.833557,36.068039", "103.843557,36.078039",
                "103.853557,36.088039", "103.863557,36.098039", "103.873557,36.108039", "103.883557,36.118039",
                "103.893557,36.128039", "103.903557,36.138039", "103.913557,36.148039", "103.923557,36.158039",
                "103.933557,36.168039", "103.943557,36.178039", "103.953557,36.188039", "103.963557,36.198039",
                "103.973557,36.208039", "103.983557,36.218039", "103.993557,36.228039", "104.003557,36.238039"));

        // 28. 青海省
        list.addAll(Arrays.asList("101.778916,36.623178", "101.768916,36.613178", "101.788916,36.633178", "101.798916,36.643178",
                "101.808916,36.653178", "101.818916,36.663178", "101.828916,36.673178", "101.838916,36.683178",
                "101.848916,36.693178", "101.858916,36.703178", "101.868916,36.713178", "101.878916,36.723178",
                "101.888916,36.733178", "101.898916,36.743178", "101.908916,36.753178", "101.918916,36.763178",
                "101.928916,36.773178", "101.938916,36.783178", "101.948916,36.793178", "101.958916,36.803178"));

        // 29. 宁夏回族自治区
        list.addAll(Arrays.asList("106.278179,38.46637", "106.268179,38.45637", "106.288179,38.47637", "106.298179,38.48637",
                "106.308179,38.49637", "106.318179,38.50637", "106.328179,38.51637", "106.338179,38.52637",
                "106.348179,38.53637", "106.358179,38.54637", "106.368179,38.55637", "106.378179,38.56637",
                "106.388179,38.57637", "106.398179,38.58637", "106.408179,38.59637", "106.418179,38.60637",
                "106.428179,38.61637", "106.438179,38.62637", "106.448179,38.63637", "106.458179,38.64637"));

        // 30. 新疆维吾尔自治区
        list.addAll(Arrays.asList("87.617733,43.792818", "87.607733,43.782818", "87.627733,43.802818", "87.637733,43.812818",
                "87.647733,43.822818", "87.657733,43.832818", "87.667733,43.842818", "87.677733,43.852818",
                "87.687733,43.862818", "87.697733,43.872818", "87.707733,43.882818", "87.717733,43.892818",
                "87.727733,43.902818", "87.737733,43.912818", "87.747733,43.922818", "87.757733,43.932818",
                "87.767733,43.942818", "87.777733,43.952818", "87.787733,43.962818", "87.797733,43.972818"));

        // 31. 台湾省
        list.addAll(Arrays.asList("121.520440,25.033482", "121.522860,25.032306", "121.525280,25.031130", "121.527700,25.029954",
                "121.530120,25.028778", "121.532540,25.027602", "121.534960,25.026426", "121.537380,25.025250",
                "121.539800,25.024074", "121.542220,25.022898", "121.544640,25.021722", "121.547060,25.020546",
                "121.549480,25.019370", "121.551900,25.018194", "121.554320,25.017018", "121.556740,25.015842",
                "121.559160,25.014666", "121.561580,25.013490", "121.564000,25.012314", "121.566420,25.011138"));


        // 32. 香港特别行政区
        list.addAll(Arrays.asList("114.175556,22.277222", "114.176944,22.276667", "114.178056,22.276111", "114.179167,22.275556",
                "114.180278,22.275000", "114.181389,22.274444", "114.182500,22.273889", "114.183611,22.273333",
                "114.184722,22.272778", "114.185833,22.272222", "114.186944,22.271667", "114.188056,22.271111",
                "114.189167,22.270556", "114.190278,22.270000", "114.191389,22.269444", "114.192500,22.268889",
                "114.193611,22.268333", "114.194722,22.267778", "114.195833,22.267222", "114.196944,22.266667"));

        // 33. 澳门特别行政区
        list.addAll(Arrays.asList("113.553528,22.213651", "113.557728,22.211252", "113.550963,22.209978", "113.552374,22.217654",
                "113.555091,22.220233", "113.559128,22.19882","113.565812,22.192998","113.547702,22.192261",
                "113.561356,22.199356","113.552229,22.20056","113.559344,22.19099", "113.555509,22.212304"));

        // 34. 西藏自治区
        list.addAll(Arrays.asList("91.132212,29.660361", "91.122212,29.650361", "91.142212,29.670361", "91.152212,29.680361",
                "91.162212,29.690361", "91.172212,29.700361", "91.182212,29.710361", "91.192212,29.720361",
                "91.202212,29.730361", "91.212212,29.740361", "91.222212,29.750361", "91.232212,29.760361",
                "91.242212,29.770361", "91.252212,29.780361", "91.262212,29.790361", "91.272212,29.800361",
                "91.282212,29.810361", "91.292212,29.820361", "91.302212,29.830361", "91.312212,29.840361"));

        return list;

    }

要求GPT的数据更加分散一些,且不能是在海上的数据


    /**
     * 要求GPT的数据更加分散一些,且不能是在海上的数据
     * @return
     */
    public static List<String> getLatAndLonByChapGPTTwo() {

        List<String> list = new ArrayList<>();

        // 1. 北京市
        list.addAll(Arrays.asList("116.405285,39.904989", "116.407396,39.9042", "116.418757,39.915768", "116.441884,39.9219",
                "116.370029,39.904211", "116.395645,39.929986", "116.388371,39.906217", "116.397452,39.909671",
                "116.408198,39.904667", "116.421885,39.907288", "116.434358,39.908119", "116.456826,39.920129",
                "116.47896,39.930701", "116.490778,39.935348", "116.492405,39.946057", "116.502888,39.958764",
                "116.523829,39.96944", "116.545235,39.980545", "116.567925,39.991019", "116.581895,40.001605",
                "116.60388,40.011236", "116.625452,40.020771", "116.644798,40.030461", "116.664254,40.040472",
                "116.683978,40.049844", "116.703415,40.059333", "116.72234,40.069153", "116.741474,40.079043",
                "116.759564,40.089112", "116.777845,40.099045"));

        // 2. 天津市
        list.addAll(Arrays.asList("117.190182,39.125596", "117.207644,39.145789", "117.22384,39.15697", "117.240928,39.168086",
                "117.257998,39.179202", "117.275069,39.190318", "117.292139,39.201434", "117.309209,39.21255",
                "117.326279,39.223666", "117.343349,39.234782", "117.360419,39.245898", "117.377489,39.257014",
                "117.394559,39.26813", "117.411629,39.279246", "117.428699,39.290362", "117.445769,39.301478",
                "117.462839,39.312594", "117.479909,39.32371", "117.496979,39.334826", "117.514049,39.345942",
//                "117.531119,39.357058",
//                "117.599399,39.401522",
                "117.616469,39.412638", "117.633539,39.423754", "117.650609,39.43487",
                "117.667679,39.445986", "117.684749,39.457102"));

        // 3. 上海市
        list.addAll(Arrays.asList("121.473701,31.230416", "121.481224,31.224569", "121.487896,31.229098", "121.495506,31.23484",
                "121.504757,31.24281", "121.513733,31.250206", "121.52121,31.25758", "121.528903,31.265218",
                "121.536347,31.272956", "121.544406,31.280548", "121.551116,31.28758", "121.558263,31.294808",
                "121.566022,31.302735", "121.574136,31.311137", "121.582382,31.319763", "121.590075,31.3277",
                "121.597145,31.33439", "121.604992,31.341137", "121.612789,31.347911", "121.620289,31.354678",
                "121.694383,31.421071"
//                , "121.702157,31.427959"
        ));

        // 4. 重庆市
        list.addAll(Arrays.asList("106.551557,29.56301", "106.561737,29.577755", "106.573217,29.591488", "106.585006,29.605565",
                "106.596725,29.61918", "106.608554,29.633015", "106.620477,29.646535", "106.631712,29.659503",
                "106.643122,29.672495", "106.654571,29.685531", "106.665761,29.698312", "106.677181,29.711216",
                "106.688577,29.724024", "106.699517,29.73663", "106.710629,29.749299", "106.722306,29.761839",
                "106.733722,29.774228", "106.745262,29.786828", "106.756771,29.799399", "106.768407,29.812032",
                "106.779855,29.82442", "106.791293,29.836716", "106.802815,29.849162", "106.814159,29.86156",
                "106.825785,29.873918", "106.837426,29.886313", "106.849067,29.898709", "106.860641,29.911046",
                "106.87217,29.923317", "106.883729,29.935601"));

        // 5. 河北省
        list.addAll(Arrays.asList("114.514859,38.042306", "114.528735,38.032442", "114.543782,38.022492", "114.55972,38.012513",
                "114.575607,38.0026", "114.591439,37.992667", "114.607177,37.982612", "114.623059,37.972648",
                "114.639136,37.962475", "114.654808,37.952218", "114.670753,37.942086", "114.686724,37.931918",
                "114.702695,37.921751", "114.718667,37.911584", "114.734638,37.901417", "114.750609,37.89125",
                "114.76658,37.881083", "114.782551,37.870916", "114.798522,37.860749", "114.814493,37.850582",
                "114.830464,37.840415", "114.846435,37.830248", "114.862406,37.820081", "114.878377,37.809914",
                "114.894348,37.799747", "114.910319,37.78958", "114.92629,37.779413", "114.942261,37.769246",
                "114.958232,37.759079", "114.974203,37.748912"));

        // 6. 山西省
        list.addAll(Arrays.asList("112.548879,37.87059", "112.560108,37.862178", "112.571217,37.853917", "112.582326,37.845657",
                "112.593435,37.837397", "112.604544,37.829137", "112.615653,37.820877", "112.626762,37.812617",
                "112.637871,37.804357", "112.64898,37.796097", "112.660089,37.787837", "112.671198,37.779577",
                "112.682307,37.771317", "112.693416,37.763057", "112.704525,37.754797", "112.715634,37.746537",
                "112.726743,37.738277", "112.737852,37.730017", "112.748961,37.721757", "112.76007,37.713497",
                "112.771179,37.705237", "112.782288,37.696977", "112.793397,37.688717", "112.804506,37.680457",
                "112.815615,37.672197", "112.826724,37.663937", "112.837833,37.655677", "112.848942,37.647417",
                "112.860051,37.639157", "112.87116,37.630897"));

        // 7. 内蒙古自治区
        list.addAll(Arrays.asList("111.75199,40.84149", "111.766732,40.836141", "111.781474,40.830792", "111.796216,40.825443",
                "111.810958,40.820094", "111.8257,40.814745", "111.840442,40.809396", "111.855184,40.804047",
                "111.869926,40.798698", "111.884668,40.793349", "111.89941,40.788", "111.914152,40.782651",
                "111.928894,40.777302", "111.943636,40.771953", "111.958378,40.766604", "111.97312,40.761255",
                "111.987862,40.755906", "112.002604,40.750557", "112.017346,40.745208", "112.032088,40.739859",
                "112.04683,40.73451", "112.061572,40.729161", "112.076314,40.723812", "112.091056,40.718463",
                "112.105798,40.713114",
//                "112.12054,40.707765",
                "112.135282,40.702416", "112.150024,40.697067",
                "112.164766,40.691718", "112.179508,40.686369"));

        // 8. 辽宁省
        list.addAll(Arrays.asList("123.429096,41.796767", "123.441253,41.788358", "123.45341,41.779949", "123.465567,41.77154",
                "123.477724,41.763131", "123.489881,41.754722", "123.502038,41.746313", "123.514195,41.737904",
                "123.526352,41.729495", "123.538509,41.721086", "123.550666,41.712677", "123.562823,41.704268",
                "123.57498,41.695859", "123.587137,41.68745", "123.599294,41.679041", "123.611451,41.670632",
                "123.623608,41.662223", "123.635765,41.653814", "123.647922,41.645405", "123.660079,41.636996",
                "123.672236,41.628587", "123.684393,41.620178", "123.69655,41.611769", "123.708707,41.60336",
                "123.720864,41.594951", "123.733021,41.586542", "123.745178,41.578133", "123.757335,41.569724",
                "123.769492,41.561315", "123.781649,41.552906"));

        // 9. 吉林省
        list.addAll(Arrays.asList("125.3245,43.886841", "125.337784,43.876678", "125.351068,43.866515", "125.364352,43.856352",
                "125.377636,43.846189", "125.39092,43.836026", "125.404204,43.825863", "125.417488,43.8157",
                "125.430772,43.805537", "125.444056,43.795374", "125.45734,43.785211", "125.470624,43.775048",
                "125.483908,43.764885", "125.497192,43.754722", "125.510476,43.744559", "125.52376,43.734396",
                "125.537044,43.724233", "125.550328,43.71407", "125.563612,43.703907", "125.576896,43.693744",
                "125.59018,43.683581", "125.603464,43.673418", "125.616748,43.663255", "125.630032,43.653092",
                "125.643316,43.642929", "125.6566,43.632766", "125.669884,43.622603", "125.683168,43.61244",
                "125.696452,43.602277", "125.709736,43.592114"));

        // 10. 黑龙江省
        list.addAll(Arrays.asList("126.642464,45.756967", "126.655789,45.746721", "126.669114,45.736475", "126.682439,45.726229",
                "126.695764,45.715983", "126.709089,45.705737", "126.722414,45.695491", "126.735739,45.685245",
                "126.749064,45.674999", "126.762389,45.664753", "126.775714,45.654507", "126.789039,45.644261",
                "126.802364,45.634015", "126.815689,45.623769", "126.829014,45.613523", "126.842339,45.603277",
                "126.855664,45.593031", "126.868989,45.582785", "126.882314,45.572539", "126.895639,45.562293",
                "126.908964,45.552047", "126.922289,45.541801", "126.935614,45.531555", "126.948939,45.521309",
                "126.962264,45.511063", "126.975589,45.500817", "126.988914,45.490571", "127.002239,45.480325",
                "127.015564,45.470079", "127.028889,45.459833"));

        // 11. 江苏省
        list.addAll(Arrays.asList("118.796877,32.060255", "118.807521,32.049863", "118.818165,32.039471", "118.828809,32.029079",
                "118.839453,32.018687", "118.850097,32.008295", "118.860741,31.997903", "118.871385,31.987511",
                "118.882029,31.977119", "118.892673,31.966727", "118.903317,31.956335", "118.913961,31.945943",
                "118.924605,31.935551", "118.935249,31.925159", "118.945893,31.914767", "118.956537,31.904375",
                "118.967181,31.893983", "118.977825,31.883591", "118.988469,31.873199", "118.999113,31.862807",
                "119.009757,31.852415", "119.020401,31.842023", "119.031045,31.831631", "119.041689,31.821239",
                "119.052333,31.810847", "119.062977,31.800455", "119.073621,31.790063", "119.084265,31.779671",
                "119.094909,31.769279", "119.105553,31.758887"));

        // 12. 浙江省
        list.addAll(Arrays.asList("120.152792,30.267447", "120.163586,30.257055", "120.17438,30.246663", "120.185174,30.236271",
                "120.195968,30.225879", "120.206762,30.215487", "120.217556,30.205095", "120.22835,30.194703",
                "120.239144,30.184311", "120.249938,30.173919", "120.260732,30.163527", "120.271526,30.153135",
                "120.28232,30.142743", "120.293114,30.132351", "120.303908,30.121959", "120.314702,30.111567",
//                "120.325496,30.101175",
                "120.33629,30.090783", "120.347084,30.080391", "120.357878,30.069999",
                "120.368672,30.059607", "120.379466,30.049215", "120.39026,30.038823", "120.401054,30.028431",
                "120.411848,30.018039", "120.422642,30.007647", "120.433436,29.997255", "120.44423,29.986863",
                "120.455024,29.976471", "120.465818,29.966079"));

        // 13. 安徽省
        list.addAll(Arrays.asList("117.283042,31.86119", "117.293865,31.850798", "117.304688,31.840406", "117.315511,31.830014",
                "117.326334,31.819622", "117.337157,31.80923", "117.34798,31.798838", "117.358803,31.788446",
                "117.369626,31.778054", "117.380449,31.767662", "117.391272,31.75727", "117.402095,31.746878",
                "117.412918,31.736486", "117.423741,31.726094", "117.434564,31.715702", "117.445387,31.70531",
                "117.45621,31.694918", "117.467033,31.684526", "117.477856,31.674134", "117.488679,31.663742",
                "117.499502,31.65335", "117.510325,31.642958", "117.521148,31.632566", "117.531971,31.622174",
                "117.542794,31.611782", "117.553617,31.60139", "117.56444,31.590998", "117.575263,31.580606",
                "117.586086,31.570214", "117.596909,31.559822"));

        // 14. 福建省
        list.addAll(Arrays.asList("119.306239,26.075302", "119.31745,26.06491", "119.328661,26.054518", "119.339872,26.044126",
                "119.351083,26.033734", "119.362294,26.023342", "119.373505,26.01295", "119.384716,26.002558",
                "119.395927,25.992166", "119.407138,25.981774", "119.418349,25.971382", "119.42956,25.96099",
                "119.440771,25.950598", "119.451982,25.940206", "119.463193,25.929814", "119.474404,25.919422",
                "119.485615,25.90903", "119.496826,25.898638", "119.508037,25.888246", "119.519248,25.877854",
                "119.530459,25.867462", "119.54167,25.85707", "119.552881,25.846678", "119.564092,25.836286",
                "119.575303,25.825894", "119.586514,25.815502", "119.597725,25.80511", "119.608936,25.794718",
                "119.620147,25.784326"
//                , "119.631358,25.773934"
        ));

        // 15. 江西省
        list.addAll(Arrays.asList("115.858197,28.682892", "115.869025,28.6725", "115.879853,28.662108", "115.890681,28.651716",
                "115.901509,28.641324", "115.912337,28.630932", "115.923165,28.62054", "115.933993,28.610148",
                "115.944821,28.599756", "115.955649,28.589364", "115.966477,28.578972", "115.977305,28.56858",
                "115.988133,28.558188", "115.998961,28.547796", "116.009789,28.537404", "116.020617,28.527012",
                "116.031445,28.51662", "116.042273,28.506228", "116.053101,28.495836", "116.063929,28.485444",
                "116.074757,28.475052", "116.085585,28.46466", "116.096413,28.454268", "116.107241,28.443876",
                "116.118069,28.433484", "116.128897,28.423092", "116.139725,28.4127", "116.150553,28.402308",
                "116.161381,28.391916", "116.172209,28.381524"));

        // 16. 山东省
        list.addAll(Arrays.asList("117.000923,36.675807", "117.013892,36.664414", "117.026861,36.653021", "117.03983,36.641628",
                "117.052799,36.630235", "117.065768,36.618842", "117.078737,36.607449", "117.091706,36.596056",
                "117.104675,36.584663", "117.117644,36.57327", "117.130613,36.561877", "117.143582,36.550484",
                "117.156551,36.539091", "117.16952,36.527698", "117.182489,36.516305", "117.195458,36.504912",
                "117.208427,36.493519", "117.221396,36.482126", "117.234365,36.470733", "117.247334,36.45934",
//                "117.260303,36.447947",
                "117.312179,36.402375", "117.325148,36.390982", "117.338117,36.379589", "117.351086,36.368196"
//                ,"117.364055,36.356803"
        ));

        // 17. 河南省
        list.addAll(Arrays.asList("113.665412,34.757975", "113.677628,34.746582", "113.689844,34.735189", "113.70206,34.723796",
                "113.714276,34.712403", "113.726492,34.70101", "113.738708,34.689617", "113.750924,34.678224",
                "113.76314,34.666831", "113.775356,34.655438", "113.787572,34.644045", "113.799788,34.632652",
                "113.812004,34.621259", "113.82422,34.609866", "113.836436,34.598473", "113.848652,34.58708",
                "113.860868,34.575687", "113.873084,34.564294", "113.8853,34.552901", "113.897516,34.541508",
                "113.909732,34.530115", "113.921948,34.518722", "113.934164,34.507329", "113.94638,34.495936",
                "113.958596,34.484543", "113.970812,34.47315", "113.983028,34.461757", "113.995244,34.450364",
                "114.00746,34.438971", "114.019676,34.427578"));

        // 18. 湖北省
        list.addAll(Arrays.asList("114.298572,30.584355", "114.309793,30.572962", "114.321014,30.561569", "114.332235,30.550176",
                "114.343456,30.538783", "114.354677,30.52739", "114.365898,30.515997", "114.377119,30.504604",
                "114.38834,30.493211", "114.399561,30.481818", "114.410782,30.470425", "114.422003,30.459032",
                "114.433224,30.447639", "114.444445,30.436246", "114.455666,30.424853", "114.466887,30.41346",
                "114.478108,30.402067", "114.489329,30.390674", "114.50055,30.379281", "114.511771,30.367888",
                "114.522992,30.356495", "114.534213,30.345102", "114.545434,30.333709", "114.556655,30.322316",
                "114.567876,30.310923", "114.579097,30.29953", "114.590318,30.288137", "114.601539,30.276744",
                "114.61276,30.265351", "114.623981,30.253958"));

        // 19. 湖南省
        list.addAll(Arrays.asList("112.982279,28.19409", "112.992681,28.182697", "113.003083,28.171304", "113.013485,28.159911",
                "113.023887,28.148518", "113.034289,28.137125", "113.044691,28.125732", "113.055093,28.114339",
                "113.065495,28.102946", "113.075897,28.091553", "113.086299,28.08016", "113.096701,28.068767",
                "113.107103,28.057374", "113.117505,28.045981", "113.127907,28.034588", "113.138309,28.023195",
                "113.148711,28.011802", "113.159113,28.000409", "113.169515,27.989016", "113.179917,27.977623",
                "113.190319,27.96623", "113.200721,27.954837", "113.211123,27.943444", "113.221525,27.932051",
                "113.231927,27.920658", "113.242329,27.909265", "113.252731,27.897872", "113.263133,27.886479"
//               ,"113.273535,27.875086"
                ));

        // 20. 广东省

        
        list.addAll(Arrays.asList("113.280637,23.125178", "113.291089,23.113785", "113.301541,23.102392", "113.311993,23.090999",
                "113.322445,23.079606", "113.332897,23.068213", "113.343349,23.05682", "113.353801,23.045427",
                "113.364253,23.034034", "113.374705,23.022641", "113.385157,23.011248", "113.395609,22.999855",
                "113.406061,22.988462", "113.416513,22.977069", "113.426965,22.965676", "113.437417,22.954283",
                "113.447869,22.94289", "113.458321,22.931497", "113.468773,22.920104", "113.479225,22.908711",
                "113.489677,22.897318", "113.500129,22.885925", "113.510581,22.874532", "113.521033,22.863139",
                "113.531485,22.851746", "113.541937,22.840353", "113.552389,22.82896", "113.562841,22.817567",
                "113.573293,22.806174", "113.583745,22.794781"));

        // 21. 广西壮族自治区
        list.addAll(Arrays.asList("108.320004,22.82402", "108.330424,22.813622", "108.340844,22.803224", "108.351264,22.792826",
                "108.361684,22.782428", "108.372104,22.77203", "108.382524,22.761632", "108.392944,22.751234",
                "108.403364,22.740836", "108.413784,22.730438", "108.424204,22.72004", "108.434624,22.709642",
                "108.445044,22.699244", "108.455464,22.688846", "108.465884,22.678448", "108.476304,22.66805",
                "108.486724,22.657652", "108.497144,22.647254", "108.507564,22.636856", "108.517984,22.626458",
                "108.528404,22.61606", "108.538824,22.605662", "108.549244,22.595264", "108.559664,22.584866",
                "108.570084,22.574468", "108.580504,22.56407", "108.590924,22.553672", "108.601344,22.543274",
                "108.611764,22.532876", "108.622184,22.522478"));

        // 22. 海南省
        list.addAll(Arrays.asList("110.33119,20.031971", "110.341458,20.021573", "110.351726,20.011175", "110.361994,20.000777",
                "110.372262,19.990379", "110.38253,19.979981", "110.392798,19.969583", "110.403066,19.959185",
                "110.413334,19.948787", "110.423602,19.938389", "110.43387,19.927991", "110.444138,19.917593",
                "110.454406,19.907195", "110.464674,19.896797", "110.474942,19.886399", "110.48521,19.876001",
                "110.495478,19.865603", "110.505746,19.855205", "110.516014,19.844807", "110.526282,19.834409",
                "110.53655,19.824011", "110.546818,19.813613", "110.557086,19.803215", "110.567354,19.792817",
                "110.577622,19.782419", "110.58789,19.772021", "110.598158,19.761623", "110.608426,19.751225",
                "110.618694,19.740827", "110.628962,19.730429"));

        // 23. 四川省
        list.addAll(Arrays.asList("104.065735,30.659462", "104.076105,30.648184", "104.086475,30.636906", "104.096845,30.625628",
                "104.107215,30.61435", "104.117585,30.603072", "104.127955,30.591794", "104.138325,30.580516",
                "104.148695,30.569238", "104.159065,30.55796", "104.169435,30.546682", "104.179805,30.535404",
                "104.190175,30.524126", "104.200545,30.512848", "104.210915,30.50157", "104.221285,30.490292",
                "104.231655,30.479014", "104.242025,30.467736", "104.252395,30.456458", "104.262765,30.44518",
                "104.273135,30.433902", "104.283505,30.422624", "104.293875,30.411346", "104.304245,30.400068",
                "104.314615,30.38879", "104.324985,30.377512", "104.335355,30.366234", "104.345725,30.354956",
                "104.356095,30.343678", "104.366465,30.3324"));

        // 24. 贵州省
        list.addAll(Arrays.asList("106.713478,26.578343", "106.724542,26.567965", "106.735606,26.557587", "106.74667,26.547209",
                "106.757734,26.536831", "106.768798,26.526453", "106.779862,26.516075", "106.790926,26.505697",
                "106.80199,26.495319", "106.813054,26.484941", "106.824118,26.474563", "106.835182,26.464185",
                "106.846246,26.453807", "106.85731,26.443429", "106.868374,26.433051", "106.879438,26.422673",
                "106.890502,26.412295", "106.901566,26.401917", "106.91263,26.391539", "106.923694,26.381161",
                "106.934758,26.370783", "106.945822,26.360405", "106.956886,26.350027", "106.96795,26.339649",
                "106.979014,26.329271", "106.990078,26.318893", "107.001142,26.308515", "107.012206,26.298137",
                "107.02327,26.287759", "107.034334,26.277381"));

        // 25. 云南省
        list.addAll(Arrays.asList("102.712251,25.040609", "102.722491,25.030341", "102.732731,25.020073", "102.742971,25.009805",
                "102.753211,24.999537", "102.763451,24.989269", "102.773691,24.979001", "102.783931,24.968733",
                "102.794171,24.958465", "102.804411,24.948197", "102.814651,24.937929", "102.824891,24.927661",
                "102.835131,24.917393", "102.845371,24.907125", "102.855611,24.896857", "102.865851,24.886589",
                "102.876091,24.876321", "102.886331,24.866053", "102.896571,24.855785", "102.906811,24.845517",
                "102.917051,24.835249", "102.927291,24.824981", "102.937531,24.814713", "102.947771,24.804445",
                "102.958011,24.794177", "102.968251,24.783909", "102.978491,24.773641", "102.988731,24.763373",
                "102.998971,24.753105", "103.009211,24.742837"));

        // 26. 陕西省
        list.addAll(Arrays.asList("108.948024,34.263161", "108.959248,34.252893", "108.970472,34.242625", "108.981696,34.232357",
                "108.99292,34.222089", "109.004144,34.211821", "109.015368,34.201553", "109.026592,34.191285",
                "109.037816,34.181017", "109.04904,34.170749", "109.060264,34.160481", "109.071488,34.150213",
                "109.082712,34.139945", "109.093936,34.129677", "109.10516,34.119409", "109.116384,34.109141",
                "109.127608,34.098873", "109.138832,34.088605", "109.150056,34.078337", "109.16128,34.068069",
                "109.172504,34.057801", "109.183728,34.047533", "109.194952,34.037265", "109.206176,34.026997",
                "109.2174,34.016729", "109.228624,34.006461", "109.239848,33.996193", "109.251072,33.985925",
                "109.262296,33.975657", "109.27352,33.965389"));

        // 27. 甘肃省
        list.addAll(Arrays.asList("103.823557,36.058039", "103.83478,36.047771", "103.846003,36.037503", "103.857226,36.027235",
                "103.868449,36.016967", "103.879672,36.006699", "103.890895,35.996431", "103.902118,35.986163",
                "103.913341,35.975895", "103.924564,35.965627", "103.935787,35.955359", "103.94701,35.945091",
                "103.958233,35.934823", "103.969456,35.924555", "103.980679,35.914287", "103.991902,35.904019",
                "104.003125,35.893751", "104.014348,35.883483", "104.025571,35.873215", "104.036794,35.862947",
                "104.048017,35.852679", "104.05924,35.842411", "104.070463,35.832143", "104.081686,35.821875",
                "104.092909,35.811607", "104.104132,35.801339", "104.115355,35.791071", "104.126578,35.780803",
                "104.137801,35.770535", "104.149024,35.760267"));

        // 28. 青海省
        list.addAll(Arrays.asList("101.778916,36.623178", "101.789563,36.613841", "101.80021,36.604504", "101.810857,36.595167",
                "101.821504,36.58583", "101.832151,36.576493", "101.842798,36.567156", "101.853445,36.557819",
                "101.864092,36.548482", "101.874739,36.539145", "101.885386,36.529808", "101.896033,36.520471",
                "101.90668,36.511134", "101.917327,36.501797", "101.927974,36.49246", "101.938621,36.483123",
                "101.949268,36.473786", "101.959915,36.464449", "101.970562,36.455112", "101.981209,36.445775",
                "101.991856,36.436438", "102.002503,36.427101", "102.01315,36.417764", "102.023797,36.408427",
                "102.034444,36.39909", "102.045091,36.389753", "102.055738,36.380416", "102.066385,36.371079",
                "102.077032,36.361742", "102.087679,36.352405"));

        // 29. 宁夏回族自治区
        list.addAll(Arrays.asList("106.278179,38.46637", "106.289372,38.456033", "106.300565,38.445696", "106.311758,38.435359",
                "106.322951,38.425022", "106.334144,38.414685", "106.345337,38.404348", "106.35653,38.394011",
                "106.367723,38.383674", "106.378916,38.373337", "106.390109,38.363", "106.401302,38.352663",
                "106.412495,38.342326", "106.423688,38.331989", "106.434881,38.321652", "106.446074,38.311315",
                "106.457267,38.300978", "106.46846,38.290641", "106.479653,38.280304", "106.490846,38.269967",
                "106.502039,38.25963", "106.513232,38.249293", "106.524425,38.238956", "106.535618,38.228619",
                "106.546811,38.218282", "106.558004,38.207945", "106.569197,38.197608", "106.58039,38.187271",
                "106.591583,38.176934", "106.602776,38.166597"));

        // 30. 新疆维吾尔自治区
        list.addAll(Arrays.asList("87.617733,43.792818", "87.630244,43.781131", "87.642755,43.769444", "87.655266,43.757757",
                "87.667777,43.74607", "87.680288,43.734383", "87.692799,43.722696", "87.70531,43.711009",
                "87.717821,43.699322", "87.730332,43.687635", "87.742843,43.675948", "87.755354,43.664261",
                "87.767865,43.652574", "87.780376,43.640887", "87.792887,43.6292", "87.805398,43.617513",
                "87.817909,43.605826", "87.83042,43.594139", "87.842931,43.582452", "87.855442,43.570765",
                "87.867953,43.559078", "87.880464,43.547391", "87.892975,43.535704", "87.905486,43.524017",
                "87.917997,43.51233", "87.930508,43.500643", "87.943019,43.488956", "87.95553,43.477269",
                "87.968041,43.465582", "87.980552,43.453895"));

        // 31. 台湾省
        list.addAll(Arrays.asList("121.509062,25.044332", "121.520432,25.033148", "121.531802,25.021964", "121.543172,25.01078",
                "121.554542,24.999596", "121.565912,24.988412", "121.577282,24.977228",
//                "121.588652,24.966044",
                "121.600022,24.95486", "121.611392,24.943676", "121.622762,24.932492", "121.634132,24.921308",
                "121.645502,24.910124", "121.656872,24.89894", "121.668242,24.887756", "121.679612,24.876572",
                "121.690982,24.865388", "121.702352,24.854204",
//                "121.713722,24.84302",
                "121.725092,24.831836", "121.736462,24.820652", "121.747832,24.809468", "121.759202,24.798284", "121.770572,24.7871",
                "121.781942,24.775916", "121.793312,24.764732", "121.804682,24.753548", "121.816052,24.742364"
//               , "121.827422,24.73118"
                ));

        // 32. 香港特别行政区
        list.addAll(Arrays.asList("114.173355,22.320048", "114.183488,22.308964", "114.193621,22.29788", "114.203754,22.286796",
                "114.213887,22.275712", "114.22402,22.264628", "114.234153,22.253544", "114.244286,22.24246",
                "114.254419,22.231376"
//                , "114.264552,22.220292"
        ));

        // 33. 澳门特别行政区
        list.addAll(Arrays.asList("113.54909,22.198951", "113.55509,22.198951", "113.56109,22.198951", "113.56709,22.198951",
                "113.57309,22.198951", "113.57909,22.198951"
        //     , "113.58509,22.198951"
        ));

        // 34. 西藏自治区
        list.addAll(Arrays.asList("91.132212,29.660361", "91.142512,29.650761", "91.152812,29.641161", "91.163112,29.631561",
                "91.173412,29.621961", "91.183712,29.612361", "91.194012,29.602761", "91.204312,29.593161",
                "91.214612,29.583561", "91.224912,29.573961", "91.235212,29.564361", "91.245512,29.554761",
                "91.255812,29.545161", "91.266112,29.535561",
//                "91.276412,29.525961",
                "91.286712,29.516361",
                "91.297012,29.506761", "91.307312,29.497161", "91.317612,29.487561", "91.327912,29.477961",
                "91.338212,29.468361", "91.348512,29.458761", "91.358812,29.449161", "91.369112,29.439561",
                "91.379412,29.429961", "91.389712,29.420361", "91.400012,29.410761", "91.410312,29.401161",
                "91.420612,29.391561", "91.430912,29.381961"));


        return list;
    }

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1851088.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mybatis(根据id查找这一行的数据)

首先在查询之前&#xff0c;我们先要做些基础的工作先创建一个以你的数据库命名的model类 我的数据库的名字叫admin 我就创建了一个Admin的类 用来方便数据的访问 然后我们就要创建一个接口来声明我们要写的方法 我创建的接口命名为AdminDao 在创建一个xml的类用来实现声明的…

NSSCTF中的[WUSTCTF 2020]朴实无华、[FSCTF 2023]源码!启动! 、[LitCTF 2023]Flag点击就送! 以及相关知识点

目录 [WUSTCTF 2020]朴实无华 [FSCTF 2023]源码&#xff01;启动! [LitCTF 2023]Flag点击就送&#xff01; 相关知识点 1.intval 绕过 绕过的方式&#xff1a; 2.session伪造攻击 [WUSTCTF 2020]朴实无华 1.进入页面几乎没什么可用的信息&#xff0c;所以想到使用dis…

408数据结构-图的应用1-最小生成树 自学知识点整理

前置知识&#xff1a;图的遍历 图的应用是408初试历年考查的重点。不过一般而言&#xff0c;这部分内容直接以算法设计题形式考查的可能性极小&#xff0c;更多的是结合图的实例来考查算法的具体操作过程&#xff0c;要求掌握的是手推模拟给定图的各个算法执行过程。此外&#…

利口 202. 快乐数

力扣 202. 快乐数 编写一个算法来判断一个数 n 是不是快乐数。 「快乐数」 定义为&#xff1a; 对于一个正整数&#xff0c;每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1&#xff0c;也可能是 无限循环 但始终变不到 1。如果这个过程 结…

信号基本分析方法——频域分析

二、频域分析 随机信号的时域分析只能提供有限的时域故障特征信息&#xff0c;故障发生时往往会引起信号频率结构的变化&#xff0c;而故障频率可以计算和预知&#xff0c;通过检测频率的幅值变换规律&#xff0c;就可以监控故障的发展过程。 频谱分析的理论基础是傅里叶变换…

AI音乐模型:创新还是颠覆?

文章目录 AI音乐大模型的崛起音乐创作门槛的降低与兴奋AI音乐作品的版权归属问题创意产业在AI阴影下的生长结语 &#x1f389;欢迎来到AIGC人工智能专栏~探索Java中的静态变量与实例变量 ☆* o(≧▽≦)o *☆嗨~我是IT陈寒&#x1f379;✨博客主页&#xff1a;IT陈寒的博客&…

【数据结构】链表的大概认识及单链表的实现

目录 一、链表的概念及结构 二、链表的分类 三、单链表的实现 建立链表的节点&#xff1a; 尾插——尾删&#xff1a; 头插——头删&#xff1a; 查找&#xff1a; 指定位置之后删除——插入&#xff1a; 指定位置之前插入——删除指定位置&#xff1a; 销毁链表&am…

向量和矩阵的点乘、叉乘

# 本科学习的全都还回去了-_- 一、向量 &#xff08;1&#xff09;点乘 向量点积&#xff0c; &#x1d44e;⋅&#x1d44f;&#x1d450; &#xff0c;符号为 ⋅ &#xff0c;要求向量长度相同&#xff0c;是两个向量之间的点乘运算&#xff0c;结果是一个标量。又称&…

在 Equinix 上使用 MinIO 控制云数据成本

公有云改变了公司构建、部署和管理应用程序的方式&#xff0c;主要是向好的方向发展。在您刚开始使用时&#xff0c;公有云会提供基础架构、服务、支持和维护&#xff0c;以便快速启动和运行。它以几乎无限的方式提供最终的可伸缩性&#xff0c;无论应用程序的负载如何&#xf…

ROS中的TF是什么

在ROS (Robot Operating System) 中&#xff0c;tf::TransformBroadcaster 是一个用于发布坐标变换信息的重要类&#xff0c;尤其在处理机器人定位和导航数据时非常常见。tf::TransformBroadcaster 对象允许你广播从一个坐标系到另一个坐标系的变换关系&#xff0c;这对于多传感…

c语言 课设 atm

功能需求分析 ATM功能主界面:显示所能进行的操作,用户可多次选择。 ATM注册界面:输入用户名,用户密码,确认密码,密码长度不是六位重新输入,两次密码不一致重新输入,输入账号。密码隐藏,实现退格换行对*无影响。多人注册 ATM登录界面:输入账号,密码,三次以内输入…

bug记录——C语言中运算符前假后面不执行

A&&B A为真&#xff0c;才会判断B&#xff0c; 所以如果B访问越界的情况下必有A为假&#xff0c;那么代码是正确的 像这里&#xff0c;当child 1 > n时&#xff0c;a[child 1]越界访问&#xff0c; 但由于&&前面判断了child 1 < n为假&#xff0c;所以…

荒野大镖客2启动找不到emp.dll的7个修复方法,轻松解决dll丢失的办法

一、emp.dll文件丢失的常见原因 安装或更新问题&#xff1a;在软件或游戏的安装过程中&#xff0c;可能由于安装程序未能正确复制文件到目标目录&#xff0c;或在更新过程中文件被意外覆盖或删除&#xff0c;导致emp.dll文件丢失。 安全软件误删&#xff1a;某些安全软件可能…

跌倒识别:守护公共安全的AI技术应用场景-免费API调用

随着科技的不断进步&#xff0c;人工智能在各个领域的应用日益广泛&#xff0c;其中在公共安全领域&#xff0c;智能跌倒识别系统正逐渐成为守护人们安全的重要工具。本文将分享智能跌倒识别系统在不同场景下的应用及其重要性。 产品在线体验地址-API调用或本地化部署 AI算法模…

C#实现音乐在线播放和下载——Windows程序设计作业3

1. 作业内容 编写一个C#程序&#xff0c;在作业二实现的本地播放功能的基础上&#xff0c;新增在线播放和在线下载功能&#xff0c;作业二博客地址&#xff1a;C#实现简单音乐文件解析播放——Windows程序设计作业2 2. 架构选择 考虑到需求中的界面友好和跨版本兼容性&#xf…

【Linux】基础IO_3

文章目录 六、基础I/O3. 软硬链接4. 动静态库 未完待续 六、基础I/O 3. 软硬链接 使用 ln 就可以创建链接&#xff0c;使用 ln -s 可以创建软链接&#xff0c;直接使用 ln 则是硬链接。 我们对硬链接进行测试一下&#xff1a; 根据测试&#xff0c;我们知道了 硬链接就像一…

Django框架数据库ORM查询操作

Django框架在生成数据库的models模型文件后&#xff0c;旧可以在应用中通过ORM来操作数据库了。今天抽空试了下查询语句。以下是常用的查询语句。 以下查询需要引入django的Sum&#xff0c;Count&#xff0c;Q模块 from django.db.models import Sum,Count,Q 导入生成的mode…

【FreeRTOS】删除任务 用遥控器控制音乐

参考《FreeRTOS入门与工程实践(基于DshanMCU-103).pdf》 学习视频&#xff1a;【FreeRTOS入门与工程实践 --由浅入深带你学习FreeRTOS&#xff08;FreeRTOS教程 基于STM32&#xff0c;以实际项目为导向&#xff09;】 【精准空降到 01:22】 https://www.bilibili.com/video/BV1…

App Store苹果应用商店如何退款

这几天想在App Store找一款录音可以转文字的app&#xff0c;结果找到后需要订阅才能转文字&#xff1b;最短1个月38元&#xff0c;购买之后&#xff0c;试用了功能&#xff0c;发现转出来的文字差强人意&#xff0c;且好多语音漏过了没转出来&#xff1b;于是决定取消订阅&…

ArkUI部分案例笔记——padding,space

基础的构建 组件分类&#xff1a; 容器组件&#xff1a;像Column&#xff0c;Row这种组件就是容器组件一般就来控制行和列的就是容器组件 基础组件&#xff1a;Text(文本组件)&#xff0c;像这种用来有一定功能的就是基础组件 注意&#xff1a;一个build只能有一个根容器组件…