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

视频学习地址


这篇文章和【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;
    }

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

神经网络学习6-线性层

归一化用的较少 正则化用来解决过拟合&#xff0c;处理最优化问题&#xff0c;批量归一化加快速度 正则化&#xff08;Regularization&#xff09;&#xff1a; 作用&#xff1a;正则化是一种用来防止过拟合的技术&#xff0c;通过向模型的损失函数中添加惩罚项&#xff0c;使…

全网最全!25届最近5年上海理工大学自动化考研院校分析

上海理工大学 目录 一、学校学院专业简介 二、考试科目指定教材 三、近5年考研分数情况 四、近5年招生录取情况 五、最新一年分数段图表 六、历年真题PDF 七、初试大纲复试大纲 八、学费&奖学金&就业方向 一、学校学院专业简介 二、考试科目指定教材 1、考试…

数据挖掘与分析——数据预处理

数据探索 波士顿房价数据集&#xff1a;卡内基梅隆大学收集&#xff0c;StatLib库&#xff0c;1978年&#xff0c;涵盖了麻省波士顿的506个不同郊区的房屋数据。 一共含有506条数据。每条数据14个字段&#xff0c;包含13个属性&#xff0c;和一个房价的平均值。 数据读取方法…

EOS black灵魂回响黑色无法联机/联机报错/联机失败怎么办

灵魂回响黑色EOS black中的职业系统&#xff0c;自由度非常高。从人物属性的精细调整&#xff0c;到装备属性的独特搭配&#xff0c;再到技能的个性化组合&#xff0c;每一步都充满了无限可能。更为惊喜的是&#xff0c;游戏中的角色职业不是一成不变的&#xff0c;而是随着手中…

基于STM32的智能插座项目

本项目基于stm32f103c8t6芯片通过集成众多模块和元器件&#xff0c;通过ESP01-S和阿里云平台实现智能插座的项目开展。资料获取到咸&#x1f41f;&#xff1a;xy591215295250 \\\或者联系wechat 号&#xff1a;comprehensivable 随着电子科学与技术的快速发展&#xff0c;软硬件…

Linux开发讲课7---Linux sysfs文件系统

一、sysfs文件系统介绍 Sysfs&#xff08;System Filesystem&#xff09;是Linux内核提供的一种虚拟文件系统&#xff0c;用于向用户空间公开有关设备和驱动程序的信息。它类似于/proc文件系统&#xff0c;但是专注于设备和驱动程序信息&#xff0c;而非进程信息。 Sysfs通过文…

安装jfrog container registry(jcr)

1、下载软件 下载地址,本案例下载的是jfrog-artifactory-jcr-7.59.11-linux.tar.gz: https://releases.jfrog.io/artifactory/bintray-artifactory/org/artifactory/jcr/jfrog-artifactory-jcr/ 2、解压下载下来的压缩包 tar zxf jfrog-artifactory-jcr-7.59.11-linux.tar…

双向滑动选择器

插件地址:https://ext.dcloud.net.cn/plugin?id3940 注意: 当改变值是,让滑块自动滑动需要调用: this.$refs.powerSlider.updateValue(that.tempPowerValue[0], that.tempPowerValue[1], false); <view style"width: 90%;margin: 15px"><cj-slider ref…

ffmpeg音视频开发从入门到精通——ffmpeg 视频数据抽取

文章目录 FFmpeg视频处理工具使用总结环境配置主函数与参数处理打开输入文件获取流信息分配输出文件上下文猜测输出文件格式创建视频流并设置参数打开输出文件并写入头信息读取、转换并写入帧数据写入尾信息并释放资源运行程序注意事项源代码 FFmpeg视频处理工具使用总结 环境…

tp5学习基本控制器和视图

1 文件结构 正在上传…重新上传取消 application 主要操作目录 extend 扩展 public 入口文件 runtime 运行时文件 thinkphp 核心代码 vendor 三方扩展 2 public/index.php 解析 正在上传…重新上传取消 .htaccess Apache 可写文件 index.php 主目录 router.php 路由文件 3 inde…

LLC开关电源开发:第四节,LLC软件设计报告

LLC源代码链接 数控全桥LLC开发板软件设计报告  1. LLC硬件及软件框架2. LLC软件设计2.1 工程文件说明2.2 LLC中断设计2.2.1 20us中断2.2.2 5ms中断 2.3 LLC状态机设计2.3.1 初始化状态2.3.2 空闲状态2.3.3 软启动状态2.3.4 正常运行状态2.3.5 故障状态 2.4 环路设计2.4.1 环路…

YOLOv8中的C2f模块

文章目录 一、结构概述二、模块功能 一、结构概述 C2f块:首先由一个卷积块(Conv)组成&#xff0c;该卷积块接收输入特征图并生成中间特征图特征图拆分:生成的中间特征图被拆分成两部分&#xff0c;一部分直接传递到最终的Concat块&#xff0c;另一部分传递到多个Botleneck块进…

three.js 第八节 - gltf加载器、解码器

// ts-nocheck // 引入three.js import * as THREE from three // 导入轨道控制器 import { OrbitControls } from three/examples/jsm/controls/OrbitControls // 导入hdr加载器&#xff08;专门加载hdr的&#xff09; import { RGBELoader } from three/examples/jsm/loaders…

Unit redis-server.service could not be found.

我的报错如下Unit redis-server.service could not be found. 关键是刷新后台服务 sudo systemctl daemon-reload启动redis-server sudo systemctl start redis-server查看redis-Server服务状态 sudo systemctl status redis-server

【JUC并发编程】

Java并发常见面试题总结&#xff08;上&#xff09; 线程 什么是线程和进程? 何为进程? 进程是程序的一次执行过程&#xff0c;是系统运行程序的基本单位&#xff0c;因此进程是动态的。系统运行一个程序即是一个进程从创建&#xff0c;运行到消亡的过程。 在 Java 中&am…

Zigbee协议详解:低功耗无线通信的理想选择

什么是Zigbee协议 Zigbee是一种基于IEEE 802.15.4标准的无线通信协议&#xff0c;专为低功耗、低数据速率和短距离通信设计。它广泛应用于物联网&#xff08;IoT&#xff09;设备&#xff0c;如智能家居、工业自动化和健康监测等领域。Zigbee协议由Zigbee联盟维护和推广&#x…

[Redis]持久化机制

众所周知&#xff0c;Redis是内存数据库&#xff0c;也就是把数据存在内存上&#xff0c;读写速度很快&#xff0c;但是&#xff0c;内存的数据容易丢失&#xff0c;为了数据的持久性&#xff0c;还得把数据存储到硬盘上 也就是说&#xff0c;内存有一份数据&#xff0c;硬盘也…

【iOS】编译二进制文件说明

编译二进制文件说明 如何生成文件路径文件说明第一部分&#xff1a;.o文件第二部分&#xff1a;link第三部分&#xff1a;Segment第四部分&#xff1a;Symbol 如何生成 使用Xcode进行编译 &#xff0c;会生成二进制相关文件&#xff0c;可以更详细看产物的布局 项目Target -&…

使用粒子滤波(particle filter)进行视频目标跟踪

虽然有许多用于目标跟踪的算法&#xff0c;包括较新的基于深度学习的算法&#xff0c;但对于这项任务&#xff0c;粒子滤波仍然是一个有趣的算法。所以在这篇文章中&#xff0c;我们将介绍视频中的目标跟踪&#xff1a;预测下一帧中物体的位置。在粒子滤波以及许多其他经典跟踪…

容器之布局容器的演示

代码; #include <gtk-2.0/gtk/gtk.h> #include <glib-2.0/glib.h> #include <gtk-2.0/gdk/gdkkeysyms.h> #include <stdio.h>void change_image(GtkFileChooserButton *filebutton, // GdkEvent *event,GtkImage *image) {gtk_image_set_from_file(im…