Files
tripsense/lib/places-admin.js
T
tamakyi 7ad86c6619 归属判定升级:DataV 官方行政区划表 + 同名县消歧
用阿里 DataV GeoAtlas(免密钥)替换 OSM Overpass 离线县表:
- 民政部 adcode 体系,县级前 4 位即所属地级码,2832 县 100% 可定位地级
  (OSM 表只有 1182/2362,且 admin_level 层级不可靠)
- 同名县(全国 30 组)保留全部候选,运行时按坐标消歧,
  修掉「柳州的城中区被归到西宁市」

归属判定改为「按名字精确查官方表」优先于「按中心点猜最近的县」:
窄长县按中心点会跨省错判(环江喀斯特实际在环江县,按中心点判到荔波县)
查表带距离校验,精确全称命中放宽到 150km(狭长县中心离边界可达 85km+)

修掉三个真实缺陷:
- Overpass 兜底把地级塞进 osmCounty、县名塞进 osmCity,
  与 attachPlaces「先找县级」的顺序相反,导致兜底路径永远丢下层县名
- Overpass 请求无硬超时,公共实例「连着不返回」能把一次分析拖成十几分钟;
  补三层限(单次超时 / 阶段总时限 / is_in 反查次数上限),13 分钟 → 48 秒
- Photon 的 osm.place.city 类目混着景点 POI,kind==='城市' 时无条件把名字
  当地名,导致「社更穿洞北门」「柳州之门」等景点自己成一组;
  改为必须同时是行政区名且能在官方表查到

新增离线回归测试(都不打外部网络,Photon/Overpass 挂掉也能回归):
- test-admin-lookup:同名县消歧、已知边界点、狭长县远端点(19 项)
- test-overpass-fallback:本地假 Overpass,验兜底路径、简称归一、200+HTML 错误页
- test-grouping-regression:本地假 Photon,20 候选完整分组
- verify-ui-full:端到端 UI 验收(真实无头 Chrome 读真实 DOM)
2026-11-06 02:05:24 +08:00

19 lines
38 KiB
JavaScript

'use strict';
/**
* 内置地点库的归属地名(自动生成,勿手改)。
*
* 生成方式:
* tools/build-admin.cjs —— 首轮,Photon 按名检索 + 坐标距离消歧
* tools/build-admin-fix.cjs —— 二轮,去后缀/核心词重试,补首轮搜不到的
* tools/build-admin-normalize.cjs —— 三轮,把组名归一到地级(市/州/盟/地区)
*
* 字段:
* SPOT_AREA { 'scenic:荔波小七孔': { area, detail, state, level } }
* AREA_COORD { '荔波县': [lat, lon] } 各地名代表坐标,运行时做最近市兜底
*/
const SPOT_AREA = {"scenic:金山岭长城":{"area":"承德市","detail":"","state":"河北省","level":"county"},"scenic:司马台长城":{"area":"承德市","detail":"","state":"河北省","level":"county"},"scenic:龙庆峡":{"area":"北京市","detail":"","state":"","level":"county"},"scenic:百花山":{"area":"北京市","detail":"","state":"","level":"county"},"scenic:雾灵山":{"area":"承德市","detail":"","state":"河北省","level":"county"},"scenic:京东大峡谷":{"area":"北京市","detail":"","state":"","level":"county"},"scenic:石林峡":{"area":"北京市","detail":"","state":"","level":"county"},"scenic:坡峰岭":{"area":"北京市","detail":"","state":"","level":"county"},"scenic:乐谷银滩":{"area":"北京市","detail":"","state":"","level":"county"},"scenic:清东陵":{"area":"唐山市","detail":"","state":"河北省","level":"county"},"scenic:黄崖关长城":{"area":"唐山市","detail":"蓟州区","state":"天津","level":"county"},"scenic:天津之眼":{"area":"天津市","detail":"红桥区","state":"天津","level":"county"},"scenic:意式风情区":{"area":"天津市","detail":"河北区","state":"天津","level":"county"},"scenic:瓷房子":{"area":"天津市","detail":"和平区","state":"天津","level":"county"},"scenic:西柏坡纪念地":{"area":"石家庄市","detail":"","state":"河北省","level":"county"},"scenic:嶂石岩":{"area":"石家庄市","detail":"","state":"河北省","level":"county"},"scenic:苍岩山":{"area":"石家庄市","detail":"","state":"河北省","level":"county"},"scenic:天生桥瀑布":{"area":"保定市","detail":"","state":"河北省","level":"county"},"scenic:壶口瀑布":{"area":"延安市","detail":"壶口镇","state":"山西省","level":"prefecture"},"scenic:乔家大院":{"area":"晋中市","detail":"","state":"山西省","level":"county"},"scenic:悬空寺":{"area":"大同市","detail":"","state":"山西省","level":"county"},"scenic:应县木塔":{"area":"朔州市","detail":"应县","state":"山西省","level":"prefecture"},"scenic:雁门关":{"area":"朔州市","detail":"雁门关镇","state":"山西省","level":"prefecture"},"scenic:绵山":{"area":"晋中市","detail":"","state":"山西省","level":"county"},"scenic:老君山":{"area":"洛阳市","detail":"","state":"河南省","level":"county"},"scenic:殷墟":{"area":"安阳市","detail":"西郊乡","state":"河南省","level":"prefecture"},"scenic:清明上河园":{"area":"开封市","detail":"开封市","state":"河南省","level":"prefecture"},"scenic:牛首山":{"area":"南京市","detail":"","state":"江苏省","level":"county"},"scenic:栖霞山":{"area":"南京市","detail":"","state":"江苏省","level":"county"},"scenic:灵山大佛":{"area":"无锡市","detail":"","state":"江苏省","level":"county"},"scenic:拈花湾":{"area":"无锡市","detail":"","state":"江苏省","level":"county"},"scenic:同里古镇":{"area":"苏州市","detail":"","state":"江苏省","level":"county"},"scenic:西塘古镇":{"area":"上海市","detail":"嘉善县","state":"浙江省","level":"county"},"scenic:南浔古镇":{"area":"湖州市","detail":"","state":"浙江省","level":"county"},"scenic:天目湖":{"area":"常州市","detail":"","state":"江苏省","level":"county"},"scenic:莫干山":{"area":"湖州市","detail":"","state":"浙江省","level":"county"},"scenic:普陀山":{"area":"舟山市","detail":"","state":"浙江省","level":"county"},"scenic:雁荡山":{"area":"温州市","detail":"","state":"浙江省","level":"county"},"scenic:楠溪江":{"area":"温州市","detail":"","state":"浙江省","level":"county"},"scenic:江郎山":{"area":"衢州市","detail":"","state":"浙江省","level":"county"},"scenic:根宫佛国":{"area":"衢州市","detail":"","state":"浙江省","level":"county"},"scenic:西递":{"area":"黄山市","detail":"","state":"安徽省","level":"county"},"scenic:呈坎":{"area":"黄山市","detail":"","state":"安徽省","level":"county"},"scenic:三清山":{"area":"上饶市","detail":"三清乡","state":"江西省","level":"prefecture"},"scenic:龙虎山":{"area":"贵溪市","detail":"","state":"江西省","level":"prefecture"},"scenic:庐山":{"area":"九江市","detail":"天坡村","state":"江西省","level":"prefecture"},"scenic:滕王阁":{"area":"南昌市","detail":"东湖区","state":"江西省","level":"prefecture"},"scenic:福建土楼":{"area":"龙岩市","detail":"","state":"福建省","level":"county"},"scenic:清源山":{"area":"泉州市","detail":"丰泽区","state":"福建省","level":"prefecture"},"scenic:蓬莱阁":{"area":"烟台市","detail":"","state":"山东省","level":"county"},"scenic:刘公岛":{"area":"威海市","detail":"","state":"山东省","level":"county"},"scenic:台儿庄古城":{"area":"枣庄市","detail":"","state":"山东省","level":"county"},"scenic:青州古城":{"area":"潍坊市","detail":"","state":"山东省","level":"county"},"scenic:黄鹤楼":{"area":"武汉市","detail":"","state":"湖北省","level":"county"},"scenic:东湖绿道":{"area":"武汉市","detail":"","state":"湖北省","level":"county"},"scenic:三峡大坝":{"area":"宜昌市","detail":"","state":"湖北省","level":"county"},"scenic:恩施大峡谷":{"area":"恩施市","detail":"","state":"湖北省","level":"prefecture"},"scenic:神农架":{"area":"神农架林区","detail":"","state":"湖北省","level":"prefecture"},"scenic:武陵源":{"area":"张家界市","detail":"湖南省","state":"湖南省","level":"province"},"scenic:凤凰古城":{"area":"凤凰县","detail":"","state":"湖南省","level":"prefecture"},"scenic:岳麓山":{"area":"长沙市","detail":"岳麓区","state":"湖南省","level":"prefecture"},"scenic:橘子洲":{"area":"长沙市","detail":"岳麓区","state":"湖南省","level":"prefecture"},"scenic:丹霞山":{"area":"郴州市","detail":"丹霞街道","state":"广东省","level":"prefecture"},"scenic:广州塔":{"area":"广州市","detail":"","state":"广东省","level":"county"},"scenic:沙面":{"area":"广州市","detail":"","state":"广东省","level":"county"},"scenic:开平碉楼":{"area":"江门市","detail":"","state":"广东省","level":"county"},"scenic:惠州西湖":{"area":"惠州市","detail":"","state":"广东省","level":"county"},"scenic:桂林象鼻山":{"area":"桂林市","detail":"","state":"广西壮族自治区","level":"county"},"scenic:龙脊梯田":{"area":"桂林市","detail":"","state":"广西壮族自治区","level":"county"},"scenic:涠洲岛":{"area":"北海市","detail":"涠洲岛和猪仔岭","state":"广西壮族自治区","level":"prefecture"},"scenic:德天瀑布":{"area":"崇左市","detail":"大新县","state":"广西壮族自治区","level":"prefecture"},"scenic:天涯海角":{"area":"三亚市","detail":"","state":"海南省","level":"county"},"scenic:南山文化旅游区":{"area":"三亚市","detail":"","state":"海南省","level":"county"},"scenic:宽窄巷子":{"area":"成都市","detail":"","state":"四川省","level":"county"},"scenic:武侯祠":{"area":"成都市","detail":"","state":"四川省","level":"county"},"scenic:杜甫草堂":{"area":"成都市","detail":"","state":"四川省","level":"county"},"scenic:峨眉山":{"area":"峨眉山市","detail":"","state":"四川省","level":"prefecture"},"scenic:乐山大佛":{"area":"乐山市","detail":"市中区","state":"四川省","level":"prefecture"},"scenic:稻城亚丁":{"area":"稻城县 འདབ་པ་རྫོང།","detail":"","state":"四川省","level":"prefecture"},"scenic:四姑娘山":{"area":"小金县 བཙན་ལྷ་རྫོང།","detail":"四姑娘山镇","state":"四川省","level":"prefecture"},"scenic:若尔盖花湖":{"area":"若尔盖县 མཛོད་དགེ་རྫོང།","detail":"","state":"四川省","level":"prefecture"},"scenic:黄龙":{"area":"松潘县 ཟུང་ཆུ་རྫོང།","detail":"","state":"四川省","level":"prefecture"},"scenic:磁器口古镇":{"area":"重庆市","detail":"沙坪坝区","state":"重庆市","level":"county"},"scenic:大足石刻":{"area":"重庆市","detail":"宝顶镇","state":"重庆市","level":"prefecture"},"scenic:武隆天生三桥":{"area":"武隆区","detail":"","state":"重庆市","level":"county"},"scenic:青岩古镇":{"area":"贵阳市","detail":"","state":"贵州省","level":"county"},"scenic:镇远古镇":{"area":"黔东南州","detail":"镇远县","state":"贵州省","level":"prefecture"},"scenic:西江千户苗寨":{"area":"黔东南州","detail":"雷山县","state":"贵州省","level":"prefecture"},"scenic:石林风景区":{"area":"昆明市","detail":"","state":"云南省","level":"county"},"scenic:玉龙雪山":{"area":"丽江市","detail":"","state":"云南省","level":"county"},"scenic:束河古镇":{"area":"丽江市","detail":"","state":"云南省","level":"county"},"scenic:泸沽湖":{"area":"丽江市","detail":"木垮","state":"四川省","level":"prefecture"},"scenic:西双版纳植物园":{"area":"西双版纳州","detail":"景洪市 ᦵᦋᧂ ᦣᦳᧂᧈ ᦉᦹᧈ","state":"云南省","level":"prefecture"},"scenic:崇圣寺三塔":{"area":"大理白族自治州","detail":"大理市","state":"云南省","level":"prefecture"},"scenic:兵马俑":{"area":"西安市","detail":"","state":"陕西省","level":"county"},"scenic:华清宫":{"area":"西安市","detail":"","state":"陕西省","level":"county"},"scenic:大唐芙蓉园":{"area":"西安市","detail":"","state":"陕西省","level":"county"},"scenic:法门寺":{"area":"宝鸡市","detail":"","state":"陕西省","level":"county"},"scenic:太白山":{"area":"西安市","detail":"","state":"陕西省","level":"county"},"scenic:麦积山石窟":{"area":"天水市","detail":"麦积镇","state":"甘肃省","level":"prefecture"},"scenic:张掖七彩丹霞":{"area":"张掖市","detail":"白银蒙古族乡 ᠪᠠᠶᠠᠨ ᠮᠣᠩᠭᠣᠯ ᠦᠨᠳᠦᠰᠦᠲᠡᠨ ᠦ ᠰᠢᠶᠠᠩ","state":"甘肃省","level":"prefecture"},"scenic:嘉峪关关城":{"area":"嘉峪关市","detail":"","state":"甘肃省","level":"county"},"scenic:鸣沙山月牙泉":{"area":"酒泉市","detail":"敦煌市","state":"甘肃省","level":"prefecture"},"scenic:塔尔寺":{"area":"西宁市","detail":"湟中区","state":"青海省","level":"prefecture"},"scenic:茶卡盐湖":{"area":"乌兰县 ཝུའུ་ལན་རྫོང།","detail":"茶卡镇","state":"青海省","level":"prefecture"},"scenic:沙坡头":{"area":"沙坡头区","detail":"","state":"宁夏回族自治区","level":"prefecture"},"scenic:镇北堡西部影城":{"area":"银川市","detail":"","state":"宁夏回族自治区","level":"county"},"scenic:喀纳斯":{"area":"布尔津县","detail":"禾木哈纳斯蒙古民族乡 قومقاناس موڭعۇل ۇلتتىق اۋىلى ᠬᠣᠮ ᠬᠠᠨᠠᠰ ᠮᠣᠩᠭᠣᠯ ᠦᠨᠳᠦᠰᠦᠲᠡᠨ ᠦ ᠰᠢᠶᠠᠩ","state":"新疆维吾尔自治区 شىنجاڭ ئۇيغۇر ئاپتونوم رايونی","level":"prefecture"},"scenic:赛里木湖":{"area":"博乐市","detail":"","state":"新疆维吾尔自治区 شىنجاڭ ئۇيغۇر ئاپتونوم رايونی","level":"prefecture"},"scenic:沈阳故宫":{"area":"沈阳市","detail":"","state":"辽宁省","level":"county"},"scenic:大连星海广场":{"area":"大连市","detail":"中山区","state":"辽宁省","level":"prefecture"},"scenic:长白山天池":{"area":"삼지연시","detail":"","state":"량강도","level":"county"},"scenic:伪满皇宫":{"area":"长春市","detail":"长春市","state":"吉林省","level":"prefecture"},"niche:爨底下村":{"area":"北京市","detail":"","state":"","level":"county"},"niche:灵水举人村":{"area":"北京市","detail":"","state":"","level":"county"},"niche:双龙峡":{"area":"北京市","detail":"","state":"","level":"county"},"niche:黄草梁":{"area":"北京市","detail":"","state":"","level":"county"},"niche:珍珠湖":{"area":"北京市","detail":"门头沟","state":"北京","level":"prefecture"},"niche:妙峰山":{"area":"北京市","detail":"","state":"","level":"county"},"niche:法海寺":{"area":"北京市","detail":"","state":"","level":"county"},"niche:模式口历史文化街":{"area":"廊坊市","detail":"石景山","state":"北京","level":"prefecture"},"niche:承恩寺":{"area":"北京市","detail":"","state":"","level":"county"},"niche:田义墓":{"area":"北京市","detail":"","state":"","level":"county"},"niche:北宫国家森林公园":{"area":"北京市","detail":"","state":"","level":"county"},"niche:千灵山":{"area":"北京市","detail":"","state":"","level":"county"},"niche:大觉寺":{"area":"北京市","detail":"海淀","state":"北京","level":"prefecture"},"niche:鹫峰":{"area":"北京市","detail":"","state":"","level":"county"},"niche:阳台山":{"area":"北京市","detail":"海淀","state":"北京","level":"prefecture"},"niche:凤凰岭":{"area":"北京市","detail":"海淀","state":"北京","level":"prefecture"},"niche:贝家花园":{"area":"北京市","detail":"","state":"","level":"county"},"niche:五塔寺":{"area":"北京市","detail":"","state":"","level":"county"},"niche:智化寺":{"area":"北京市","detail":"","state":"","level":"county"},"niche:史家胡同博物馆":{"area":"北京市","detail":"","state":"","level":"county"},"niche:银山塔林":{"area":"北京市","detail":"","state":"","level":"county"},"niche:沟崖自然风景区":{"area":"北京市","detail":"","state":"","level":"county"},"niche:巩华城遗址":{"area":"北京市","detail":"昌平","state":"北京","level":"prefecture"},"niche:大杨山森林公园":{"area":"北京市","detail":"","state":"","level":"county"},"niche:黄花城水长城":{"area":"北京市","detail":"","state":"","level":"county"},"niche:箭扣长城":{"area":"北京市","detail":"","state":"","level":"county"},"niche:喇叭沟门原始森林":{"area":"北京市","detail":"","state":"","level":"county"},"niche:云蒙山":{"area":"北京市","detail":"","state":"","level":"county"},"niche:白河峡谷":{"area":"张家口市","detail":"密云","state":"北京","level":"prefecture"},"niche:黑龙潭":{"area":"承德市","detail":"密云","state":"北京","level":"prefecture"},"niche:桃源仙谷":{"area":"北京市","detail":"","state":"","level":"county"},"niche:京都第一瀑":{"area":"北京市","detail":"","state":"","level":"county"},"niche:古崖居":{"area":"张家口市","detail":"","state":"河北省","level":"county"},"niche:玉渡山":{"area":"北京市","detail":"","state":"","level":"county"},"niche:野鸭湖湿地":{"area":"北京市","detail":"","state":"","level":"county"},"niche:硅化木国家地质公园":{"area":"张家口市","detail":"延庆","state":"北京","level":"prefecture"},"niche:滴水壶":{"area":"北京市","detail":"","state":"","level":"county"},"niche:乌龙峡谷":{"area":"北京市","detail":"","state":"","level":"county"},"niche:海坨山":{"area":"张家口市","detail":"","state":"河北省","level":"county"},"niche:云居寺":{"area":"北京市","detail":"","state":"","level":"county"},"niche:石经山":{"area":"北京市","detail":"","state":"","level":"county"},"niche:上方山国家森林公园":{"area":"北京市","detail":"","state":"","level":"county"},"niche:圣莲山":{"area":"北京市","detail":"","state":"","level":"county"},"niche:白草畔":{"area":"北京市","detail":"","state":"","level":"county"},"niche:石花洞":{"area":"北京市","detail":"","state":"","level":"county"},"niche:银狐洞":{"area":"北京市","detail":"","state":"","level":"county"},"niche:仙栖洞":{"area":"北京市","detail":"","state":"","level":"county"},"niche:金陵遗址":{"area":"廊坊市","detail":"房山","state":"北京","level":"prefecture"},"niche:琉璃河遗址":{"area":"廊坊市","detail":"房山","state":"北京","level":"prefecture"},"niche:团河行宫遗址":{"area":"北京市","detail":"","state":"","level":"county"},"niche:中国铁道博物馆东郊馆":{"area":"北京市","detail":"","state":"","level":"county"},"niche:观复博物馆":{"area":"北京市","detail":"","state":"","level":"county"},"niche:红砖美术馆":{"area":"北京市","detail":"","state":"","level":"county"},"niche:松美术馆":{"area":"北京市","detail":"","state":"","level":"county"},"niche:罗红摄影艺术馆":{"area":"北京市","detail":"","state":"","level":"county"},"niche:张家湾古镇":{"area":"北京市","detail":"","state":"","level":"county"},"niche:燃灯佛舍利塔":{"area":"通州","detail":"","state":"北京","level":"prefecture"},"niche:路县故城遗址公园":{"area":"北京市","detail":"","state":"","level":"county"},"niche:鸡鸣驿":{"area":"张家口市","detail":"","state":"河北省","level":"county"},"niche:天漠":{"area":"张家口市","detail":"","state":"河北省","level":"county"},"niche:后城赤壁":{"area":"张家口市","detail":"张家口","state":"河北","level":"prefecture"},"niche:暖泉古镇":{"area":"张家口市","detail":"","state":"河北省","level":"county"},"niche:开阳堡":{"area":"大同市","detail":"张家口","state":"河北","level":"prefecture"},"niche:小五台山":{"area":"张家口市","detail":"","state":"河北省","level":"county"},"niche:易水湖":{"area":"保定市","detail":"","state":"河北省","level":"county"},"niche:白石山玻璃栈道":{"area":"保定市","detail":"保定","state":"河北","level":"prefecture"},"niche:狼牙山":{"area":"保定市","detail":"","state":"河北省","level":"county"},"niche:窦王岭":{"area":"石家庄市","detail":"石家庄","state":"河北","level":"prefecture"},"niche:于家石头村":{"area":"石家庄市","detail":"","state":"河北省","level":"county"},"niche:正定隆兴寺":{"area":"石家庄市","detail":"石家庄","state":"河北","level":"prefecture"},"niche:广府古城":{"area":"邢台市","detail":"邯郸","state":"河北","level":"prefecture"},"niche:京娘湖":{"area":"邯郸市","detail":"","state":"河北省","level":"county"},"niche:杨柳青古镇":{"area":"天津市","detail":"西青区","state":"天津","level":"county"},"niche:蓟州独乐寺":{"area":"蓟州","detail":"","state":"天津","level":"prefecture"},"niche:蓟州梨木台":{"area":"蓟州","detail":"","state":"天津","level":"prefecture"},"niche:得胜堡":{"area":"大同市","detail":"","state":"山西省","level":"county"},"niche:悬空村":{"area":"太原市","detail":"涔山乡","state":"山西省","level":"prefecture"},"niche:芦芽山":{"area":"太原市","detail":"五寨县","state":"山西省","level":"prefecture"},"niche:万年冰洞":{"area":"太原市","detail":"涔山乡","state":"山西省","level":"prefecture"},"niche:李家山村":{"area":"吕梁","detail":"","state":"山西","level":"prefecture"},"niche:郭峪古城":{"area":"晋城市","detail":"","state":"山西省","level":"county"},"niche:湘峪古堡":{"area":"晋城市","detail":"","state":"山西省","level":"county"},"niche:王莽岭":{"area":"晋城市","detail":"","state":"山西省","level":"county"},"niche:锡林郭勒石条山":{"area":"锡林郭勒","detail":"","state":"内蒙古","level":"prefecture"},"niche:阿尔山森林公园":{"area":"内蒙古自治区 ᠦᠪᠦᠷ ᠮᠣᠩᠭᠤᠯ ᠤᠨ ᠥᠪᠡᠷᠲᠡᠭᠡᠨ ᠵᠠᠰᠠᠬᠣ ᠣᠷᠣᠨ","detail":"","state":"内蒙古自治区 ᠦᠪᠦᠷ ᠮᠣᠩᠭᠤᠯ ᠤᠨ ᠥᠪᠡᠷᠲᠡᠭᠡᠨ ᠵᠠᠰᠠᠬᠣ ᠣᠷᠣᠨ","level":"province"},"niche:恩和俄罗斯族民族乡":{"area":"呼伦贝尔市 ᠬᠥᠯᠥᠨ ᠪᠤᠶᠢᠷ","detail":"","state":"内蒙古自治区 ᠦᠪᠦᠷ ᠮᠣᠩᠭᠤᠯ ᠤᠨ ᠥᠪᠡᠷᠲᠡᠭᠡᠨ ᠵᠠᠰᠠᠬᠣ ᠣᠷᠣᠨ","level":"county"},"niche:绿江村":{"area":"丹东市","detail":"宽甸县","state":"辽宁省","level":"prefecture"},"niche:本溪关门山":{"area":"沈阳市","detail":"本溪","state":"辽宁","level":"prefecture"},"niche:盘锦红海滩":{"area":"盘锦市","detail":"","state":"辽宁省","level":"county"},"niche:长白山望天鹅":{"area":"白山","detail":"","state":"吉林","level":"prefecture"},"niche:防川一眼望三国":{"area":"延吉市","detail":"延边","state":"吉林","level":"prefecture"},"niche:横道河子镇":{"area":"海林市","detail":"横道河子镇","state":"黑龙江省","level":"prefecture"},"niche:五大连池":{"area":"五大连池市","detail":"","state":"黑龙江省","level":"prefecture"},"niche:石塘古镇":{"area":"台州市","detail":"","state":"浙江省","level":"county"},"niche:括苍山":{"area":"台州市","detail":"","state":"浙江省","level":"county"},"niche:公盂村":{"area":"台州市","detail":"","state":"浙江省","level":"county"},"niche:前童古镇":{"area":"宁波市","detail":"","state":"浙江省","level":"county"},"niche:许家山石头村":{"area":"宁波市","detail":"","state":"浙江省","level":"county"},"niche:覆卮山":{"area":"绍兴市","detail":"","state":"浙江省","level":"county"},"niche:安昌古镇":{"area":"绍兴市","detail":"","state":"浙江省","level":"county"},"niche:廿八都古镇":{"area":"衢州市","detail":"","state":"浙江省","level":"county"},"niche:江郎山霞客古道":{"area":"衢州","detail":"","state":"浙江","level":"prefecture"},"niche:松阳杨家堂村":{"area":"金华市","detail":"丽水","state":"浙江","level":"prefecture"},"niche:云和梯田":{"area":"金华市","detail":"丽水","state":"浙江","level":"prefecture"},"niche:遂昌南尖岩":{"area":"衢州市","detail":"丽水","state":"浙江","level":"prefecture"},"niche:芹川古村":{"area":"杭州市","detail":"","state":"浙江省","level":"county"},"niche:指南村":{"area":"杭州市","detail":"","state":"浙江省","level":"county"},"niche:径山寺":{"area":"杭州市","detail":"","state":"浙江省","level":"county"},"niche:良渚古城遗址":{"area":"杭州市","detail":"","state":"浙江省","level":"county"},"niche:锦溪古镇":{"area":"苏州市","detail":"","state":"江苏省","level":"county"},"niche:甪直古镇":{"area":"苏州市","detail":"","state":"江苏省","level":"county"},"niche:东山陆巷古村":{"area":"苏州","detail":"","state":"江苏","level":"prefecture"},"niche:窑湾古镇":{"area":"徐州市","detail":"","state":"江苏省","level":"county"},"niche:高淳老街":{"area":"南京市","detail":"","state":"江苏省","level":"county"},"niche:石塘竹海":{"area":"常州市","detail":"南京","state":"江苏","level":"prefecture"},"niche:朱家角古镇":{"area":"上海市","detail":"","state":"上海市","level":"county"},"niche:广富林遗址":{"area":"上海市","detail":"松江区","state":"上海市","level":"county"},"niche:武康路历史街区":{"area":"上海市","detail":"徐汇","state":"上海","level":"prefecture"},"niche:木渎古镇":{"area":"苏州市","detail":"","state":"江苏省","level":"county"},"niche:查济古村":{"area":"宣城市","detail":"","state":"安徽省","level":"county"},"niche:桃花潭":{"area":"宣城市","detail":"宣城","state":"安徽","level":"prefecture"},"niche:徽杭古道":{"area":"宣城市","detail":"","state":"安徽省","level":"county"},"niche:阳产土楼":{"area":"杭州市","detail":"黄山","state":"安徽","level":"prefecture"},"niche:木梨硔":{"area":"黄山市","detail":"","state":"安徽省","level":"county"},"niche:唐模古村":{"area":"黄山市","detail":"","state":"安徽省","level":"county"},"niche:石潭村":{"area":"杭州市","detail":"黄山","state":"安徽","level":"prefecture"},"niche:四礵列岛":{"area":"霞浦县","detail":"","state":"福建省","level":"prefecture"},"niche:霞浦滩涂":{"area":"福州市","detail":"宁德","state":"福建","level":"prefecture"},"niche:屏南龙潭里":{"area":"福州市","detail":"宁德","state":"福建","level":"prefecture"},"niche:培田古民居":{"area":"龙岩市","detail":"龙岩","state":"福建","level":"prefecture"},"niche:樟脚村":{"area":"泉州","detail":"","state":"福建","level":"prefecture"},"niche:蟳埔村":{"area":"泉州市","detail":"丰泽区","state":"福建省","level":"prefecture"},"niche:瑶里古镇":{"area":"景德镇市","detail":"瑶里镇","state":"江西省","level":"prefecture"},"niche:晓起古村":{"area":"黄山市","detail":"江湾镇","state":"江西省","level":"prefecture"},"niche:武功山":{"area":"吉安市","detail":"","state":"江西省","level":"county"},"niche:铅山鹅湖书院":{"area":"上饶市","detail":"上饶","state":"江西","level":"prefecture"},"niche:青州井塘古村":{"area":"潍坊市","detail":"潍坊","state":"山东","level":"prefecture"},"niche:长岛九丈崖":{"area":"烟台市","detail":"烟台","state":"山东","level":"prefecture"},"niche:荣成成山头":{"area":"威海市","detail":"","state":"山东省","level":"county"},"niche:沂蒙山龟蒙":{"area":"临沂市","detail":"临沂","state":"山东","level":"prefecture"},"niche:郭亮村挂壁公路":{"area":"新乡市","detail":"辉县市","state":"河南省","level":"prefecture"},"niche:南太行八里沟":{"area":"新乡市","detail":"新乡","state":"河南","level":"prefecture"},"niche:巩义康百万庄园":{"area":"郑州","detail":"","state":"河南","level":"prefecture"},"niche:登封观星台":{"area":"郑州市","detail":"","state":"河南省","level":"county"},"niche:鹿院坪":{"area":"恩施市","detail":"板桥镇","state":"湖北省","level":"prefecture"},"niche:屏山峡谷":{"area":"恩施市","detail":"恩施","state":"湖北","level":"prefecture"},"niche:地心谷":{"area":"恩施市","detail":"恩施","state":"湖北","level":"prefecture"},"niche:羊楼洞古镇":{"area":"岳阳市","detail":"咸宁","state":"湖北","level":"prefecture"},"niche:高椅古村":{"area":"柳州市","detail":"高椅乡","state":"湖南省","level":"prefecture"},"niche:紫鹊界梯田":{"area":"娄底","detail":"","state":"湖南","level":"prefecture"},"niche:崀山":{"area":"新宁县","detail":"三口渡","state":"湖南省","level":"prefecture"},"niche:边城茶峒":{"area":"秀山县","detail":"","state":"重庆市","level":"county"},"niche:连南千年瑶寨":{"area":"清远市","detail":"清远","state":"广东","level":"prefecture"},"niche:南澳岛":{"area":"汕头市","detail":"","state":"广东省","level":"county"},"niche:盐洲岛":{"area":"惠州市","detail":"","state":"广东省","level":"county"},"niche:英西峰林":{"area":"清远市","detail":"","state":"广东省","level":"county"},"niche:石塘古村":{"area":"郴州市","detail":"韶关","state":"广东","level":"prefecture"},"niche:斜阳岛":{"area":"北海市","detail":"广西壮族自治区","state":"广西壮族自治区","level":"province"},"niche:程阳八寨":{"area":"柳州市","detail":"三江县","state":"广西壮族自治区","level":"prefecture"},"niche:会仙湿地":{"area":"桂林市","detail":"","state":"广西壮族自治区","level":"county"},"niche:加榜梯田":{"area":"黔东南州","detail":"摆别村","state":"贵州省","level":"prefecture"},"niche:肇兴侗寨":{"area":"柳州市","detail":"肇兴侗寨","state":"贵州省","level":"prefecture"},"niche:镇远青龙洞":{"area":"黔东南州","detail":"黔东南","state":"贵州","level":"prefecture"},"niche:万峰林":{"area":"黔西南州","detail":"兴义市","state":"贵州省","level":"prefecture"},"niche:旧县古村":{"area":"桂林市","detail":"","state":"广西壮族自治区","level":"county"},"niche:党岭葫芦海":{"area":"甘孜","detail":"","state":"四川","level":"prefecture"},"niche:莫斯卡村":{"area":"甘孜","detail":"","state":"四川","level":"prefecture"},"niche:中路藏寨":{"area":"丹巴县 རོང་བྲག་རྫོང།","detail":"中路","state":"四川省","level":"prefecture"},"niche:亚青寺":{"area":"白玉县 དཔལ་ཡུལ་རྫོང།","detail":"纳塔乡","state":"四川省","level":"prefecture"},"niche:措普沟":{"area":"巴塘县 འབའ་ཐང་རྫོང།","detail":"茶洛乡","state":"四川省","level":"prefecture"},"niche:七藏沟":{"area":"阿坝","detail":"","state":"四川","level":"prefecture"},"niche:神座村":{"area":"阿坝县 རྔ་བ་རྫོང།","detail":"","state":"四川省","level":"prefecture"},"niche:龚滩古镇":{"area":"酉阳县","detail":"","state":"重庆市","level":"county"},"niche:石柱刀背梁":{"area":"恩施市","detail":"石柱","state":"重庆","level":"prefecture"},"niche:偏岩古镇":{"area":"重庆市","detail":"金刀峡镇","state":"重庆市","level":"prefecture"},"niche:诺邓古村":{"area":"大理白族自治州","detail":"大理","state":"云南","level":"prefecture"},"niche:沙溪古镇":{"area":"大理白族自治州","detail":"剑川县","state":"云南省","level":"prefecture"},"niche:雨崩村":{"area":"迪庆藏族自治州 བདེ་ཆེན་བོད་རིགས་རང་སྐྱོང་ཁུལ།","detail":"德钦县 བདེ་ཆེན།","state":"云南省","level":"prefecture"},"niche:丙中洛":{"area":"怒江州 ꓠꓳ-ꓟꓵ ꓝꓳꓴ","detail":"贡山县","state":"云南省","level":"prefecture"},"niche:元阳箐口民俗村":{"area":"红河","detail":"","state":"云南","level":"prefecture"},"niche:建水团山民居":{"area":"玉溪市","detail":"团山村","state":"云南省","level":"prefecture"},"niche:坝美村":{"area":"文山州","detail":"文山","state":"云南","level":"prefecture"},"niche:普者黑":{"area":"文山州","detail":"丘北县","state":"云南省","level":"prefecture"},"niche:萨普神山":{"area":"那曲市 ནག་ཆུ་ས་ཁུལ།","detail":"比如县 འབྲི་རུ་རྫོང་།","state":"西藏自治区 བོད་རང་སྐྱོང་ལྗོངས།","level":"prefecture"},"niche:札达土林":{"area":"阿里地区 མངའ་རིས་ས་ཁུལ།","detail":"札达县 རྩ་མདའ་རྫོང་།","state":"西藏自治区 བོད་རང་སྐྱོང་ལྗོངས།","level":"prefecture"},"niche:来古冰川":{"area":"昌都市 ཆབ་མདོ་གྲོང་ཁྱེར།","detail":"","state":"西藏自治区 བོད་རང་སྐྱོང་ལྗོངས།","level":"county"},"niche:索松村":{"area":"林芝市","detail":"米林市 སྨན་གླིང་གྲོང་ཁྱེར།","state":"西藏自治区 བོད་རང་སྐྱོང་ལྗོངས།","level":"prefecture"},"niche:波浪谷":{"area":"榆林市","detail":"","state":"陕西省","level":"county"},"niche:米脂窑洞古城":{"area":"榆林市","detail":"榆林","state":"陕西","level":"prefecture"},"niche:青木川古镇":{"area":"宁强县","detail":"","state":"陕西省","level":"prefecture"},"niche:留坝高江路":{"area":"汉中市","detail":"汉中","state":"陕西","level":"prefecture"},"niche:扎尕那":{"area":"迭部县 ཐེ་བོ་རྫོང་།","detail":"益哇镇 གཡི་བ།","state":"甘肃省","level":"prefecture"},"niche:郎木寺":{"area":"碌曲县","detail":"郎木寺镇 ལྷ་མོ།","state":"甘肃省","level":"prefecture"},"niche:炳灵寺石窟":{"area":"兰州市","detail":"杨塔乡","state":"甘肃省","level":"prefecture"},"niche:石包城遗址":{"area":"酒泉市","detail":"酒泉","state":"甘肃","level":"prefecture"},"niche:翡翠湖":{"area":"海西","detail":"","state":"青海","level":"prefecture"},"niche:水上雅丹":{"area":"大柴旦行政委员会","detail":"柴旦镇","state":"青海省","level":"prefecture"},"niche:贵德黄河清":{"area":"西宁市","detail":"海南","state":"青海","level":"prefecture"},"niche:坎布拉":{"area":"西宁市","detail":"尖扎县 གཅན་ཚ།","state":"青海省","level":"prefecture"},"niche:西夏王陵":{"area":"银川市","detail":"","state":"宁夏回族自治区","level":"county"},"niche:水洞沟":{"area":"银川市","detail":"","state":"宁夏回族自治区","level":"county"},"niche:大海道":{"area":"哈密","detail":"","state":"新疆","level":"prefecture"},"niche:夏塔古道":{"area":"伊宁市","detail":"伊犁","state":"新疆","level":"prefecture"},"niche:琼库什台":{"area":"伊宁市","detail":"特克斯县","state":"新疆维吾尔自治区 شىنجاڭ ئۇيغۇر ئاپتونوم رايونی","level":"prefecture"},"niche:禾木村":{"area":"阿勒泰市","detail":"禾木哈纳斯蒙古民族乡 قومقاناس موڭعۇل ۇلتتىق اۋىلى ᠬᠣᠮ ᠬᠠᠨᠠᠰ ᠮᠣᠩᠭᠣᠯ ᠦᠨᠳᠦᠰᠦᠲᠡᠨ ᠦ ᠰᠢᠶᠠᠩ","state":"新疆维吾尔自治区 شىنجاڭ ئۇيغۇر ئاپتونوم رايونی","level":"prefecture"},"niche:白哈巴村":{"area":"哈巴河县","detail":"铁热克提乡 تەرەكتى اۋىلى","state":"新疆维吾尔自治区 شىنجاڭ ئۇيغۇر ئاپتونوم رايونی","level":"prefecture"},"scenic:婺源篁岭":{"area":"黄山市","detail":"江湾镇","state":"江西省","level":"prefecture"},"scenic:荔波小七孔":{"area":"黔南州","detail":"荔波县","state":"贵州省","level":"prefecture"},"scenic:伊犁那拉提":{"area":"新源县","detail":"","state":"新疆维吾尔自治区 شىنجاڭ ئۇيغۇر ئاپتونوم رايونی","level":"prefecture"},"scenic:北极村":{"area":"漠河市","detail":"","state":"黑龙江省","level":"prefecture"}};
const AREA_COORD = {"承德市":[40.679,117.229],"北京市":[40.533,116.008],"唐山市":[40.183,117.633],"蓟州区":[40.233,117.4],"红桥区":[39.1536,117.1742],"河北区":[39.1431,117.2008],"和平区":[39.125,117.2],"石家庄市":[38.2833,113.95],"保定市":[38.75,113.833],"吉县":[36.15,110.433],"晋中市":[37.4,112.433],"大同市":[39.733,113.7],"朔州市":[39.567,113.183],"代县":[39.2,112.85],"洛阳市":[33.75,111.633],"殷都区":[36.133,114.317],"龙亭区":[34.8,114.35],"南京市":[31.9,118.75],"无锡市":[31.433,120.1],"苏州市":[31.16,120.717],"嘉善县":[30.94,120.89],"湖州市":[30.883,120.417],"常州市":[31.3,119.417],"舟山市":[30,122.3833],"温州市":[28.3667,121.05],"衢州市":[28.533,118.567],"黄山市":[29.883,117.983],"玉山县":[28.9,118.067],"贵溪市":[28.1,116.983],"柴桑区":[29.583,115.983],"南昌市":[28.683,115.883],"龙岩市":[24.683,117.133],"泉州市":[24.933,118.583],"烟台市":[37.817,120.75],"威海市":[37.5,122.183],"枣庄市":[34.567,117.733],"潍坊市":[36.683,118.483],"武汉市":[30.545,114.303],"宜昌市":[30.833,111],"恩施市":[30.567,109.267],"神农架林区":[31.75,110.333],"凤凰县":[27.95,109.6],"岳麓区":[28.183,112.933],"仁化县":[25.0333,113.75],"广州市":[23.1066,113.3245],"江门市":[22.3667,112.7],"惠州市":[23.083,114.4],"桂林市":[25.27,110.3],"涠洲岛和猪仔岭":[21.033,109.117],"崇左市":[22.85,106.717],"三亚市":[18.25,109.35],"成都市":[30.669,104.055],"峨眉山市":[29.533,103.35],"市中区":[29.55,103.767],"稻城县 འདབ་པ་རྫོང།":[28.433,100.3],"小金县 བཙན་ལྷ་རྫོང།":[31.1,102.9],"若尔盖县 མཛོད་དགེ་རྫོང།":[33.9,102.833],"松潘县 ཟུང་ཆུ་རྫོང།":[32.75,103.833],"沙坪坝区":[29.58,106.45],"大足区":[29.7,105.7],"武隆区":[29.433,107.8],"贵阳市":[26.417,106.683],"镇远县":[27.05,108.433],"黔东南州":[26.483,108.183],"昆明市":[24.8167,103.3333],"丽江市":[27.1,100.183],"盐源县 ꋂꂿꑤ":[27.7,100.783],"西双版纳州":[21.917,101.267],"大理白族自治州":[25.7,100.15],"西安市":[34.3853,109.2785],"宝鸡市":[34.433,107.9],"麦积区":[34.35,106],"肃南裕固族自治县":[38.9,100.133],"嘉峪关市":[39.8,98.22],"酒泉市":[40.083,94.667],"湟中县":[36.483,101.567],"乌兰县 ཝུའུ་ལན་རྫོང།":[36.75,99.083],"沙坡头区":[37.45,105],"银川市":[38.5,106.083],"布尔津县":[48.733,87.033],"博乐市":[44.6,81.2],"沈阳市":[41.7997,123.4539],"甘井子区":[38.8767,121.5733],"삼지연시":[42,128.0667],"绿园区":[43.883,125.35],"张家口市":[40.552,116.021],"邯郸市":[36.751,113.951],"西青区":[39.141,116.991],"宁武县":[38.851,112.051],"五寨县":[38.751,111.901],"晋城市":[35.501,112.451],"呼伦贝尔市 ᠬᠥᠯᠥᠨ ᠪᠤᠶᠢᠷ":[50.751,119.551],"丹东市":[40.551,125.351],"盘锦市":[40.951,121.851],"海林市":[44.551,129.651],"五大连池市":[48.721,126.151],"台州市":[28.351,121.601],"宁波市":[29.251,121.351],"绍兴市":[29.851,120.851],"杭州市":[29.551,118.851],"徐州市":[34.251,118.051],"上海市":[31.111,121.051],"松江区":[31.051,121.221],"宣城市":[30.551,118.151],"霞浦县":[26.751,120.351],"浮梁县":[29.551,117.551],"婺源县":[29.421,117.981],"吉安市":[27.451,114.181],"新乡市":[35.751,113.601],"郑州市":[34.401,113.151],"会同县":[26.851,109.751],"新宁县":[26.351,110.851],"秀山县":[28.551,109.251],"汕头市":[23.421,117.051],"清远市":[24.251,112.951],"柳州市":[25.901,109.651],"从江县":[25.751,108.451],"黎平县":[25.751,109.151],"黔西南州":[25.051,104.951],"丹巴县 རོང་བྲག་རྫོང།":[30.851,101.851],"白玉县 དཔལ་ཡུལ་རྫོང།":[31.151,99.551],"巴塘县 འབའ་ཐང་རྫོང།":[30.451,99.551],"阿坝县 རྔ་བ་རྫོང།":[32.551,102.051],"酉阳县":[28.751,108.451],"北碚区":[29.951,106.551],"剑川县":[26.321,99.851],"迪庆藏族自治州 བདེ་ཆེན་བོད་རིགས་རང་སྐྱོང་ཁུལ།":[28.351,98.751],"怒江州 ꓠꓳ-ꓟꓵ ꓝꓳꓴ":[28.051,98.651],"建水县":[23.601,102.751],"文山州":[24.051,104.151],"那曲市 ནག་ཆུ་ས་ཁུལ།":[30.851,93.551],"阿里地区 མངའ་རིས་ས་ཁུལ།":[31.501,79.751],"昌都市 ཆབ་མདོ་གྲོང་ཁྱེར།":[29.251,96.751],"林芝市 ཉིང་ཁྲི་གྲོང་ཁྱེར།":[29.551,94.951],"榆林市":[37.551,108.851],"宁强县":[32.851,105.551],"迭部县 ཐེ་བོ་རྫོང་།":[34.251,103.151],"碌曲县":[34.051,102.651],"永靖县":[35.801,103.051],"大柴旦行政委员会":[37.751,93.351],"黄南藏族自治州 རྨ་ལྷོ་བོད་རིགས་རང་སྐྱོང་ཁུལ།":[36.051,101.751],"特克斯县":[43.151,82.351],"哈巴河县":[48.651,86.751],"黔南州":[25.3,107.7],"新源县":[43.3,84],"漠河市":[53.467,122.35]};
module.exports = { SPOT_AREA, AREA_COORD };