let defsArrs = [ { "name": "GCS_WGS_1984", "epsg": "EPSG:4326", "def": "+proj=longlat +datum=WGS84 +no_defs" }, { "name": "GCS_China_Geodetic_Coordinate_System_2000", "epsg": "EPSG:4490", "def": "+proj=longlat +ellps=GRS80 +no_defs" }, { "name": "WGS 84 / UTM zone 1N", "epsg": "EPSG:32601", "def": "+proj=utm +zone=1 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 2N", "epsg": "EPSG:32602", "def": "+proj=utm +zone=2 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 3N", "epsg": "EPSG:32603", "def": "+proj=utm +zone=3 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 4N", "epsg": "EPSG:32604", "def": "+proj=utm +zone=4 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 5N", "epsg": "EPSG:32605", "def": "+proj=utm +zone=5 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 6N", "epsg": "EPSG:32606", "def": "+proj=utm +zone=6 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 7N", "epsg": "EPSG:32607", "def": "+proj=utm +zone=7 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 8N", "epsg": "EPSG:32608", "def": "+proj=utm +zone=8 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 9N", "epsg": "EPSG:32609", "def": "+proj=utm +zone=9 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 10N", "epsg": "EPSG:32610", "def": "+proj=utm +zone=10 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 11N", "epsg": "EPSG:32611", "def": "+proj=utm +zone=11 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 12N", "epsg": "EPSG:32612", "def": "+proj=utm +zone=12 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 13N", "epsg": "EPSG:32613", "def": "+proj=utm +zone=13 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 14N", "epsg": "EPSG:32614", "def": "+proj=utm +zone=14 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 15N", "epsg": "EPSG:32615", "def": "+proj=utm +zone=15 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 16N", "epsg": "EPSG:32616", "def": "+proj=utm +zone=16 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 17N", "epsg": "EPSG:32617", "def": "+proj=utm +zone=17 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 18N", "epsg": "EPSG:32618", "def": "+proj=utm +zone=18 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 19N", "epsg": "EPSG:32619", "def": "+proj=utm +zone=19 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 20N", "epsg": "EPSG:32620", "def": "+proj=utm +zone=20 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 21N", "epsg": "EPSG:32621", "def": "+proj=utm +zone=21 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 22N", "epsg": "EPSG:32622", "def": "+proj=utm +zone=22 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 23N", "epsg": "EPSG:32623", "def": "+proj=utm +zone=23 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 24N", "epsg": "EPSG:32624", "def": "+proj=utm +zone=24 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 25N", "epsg": "EPSG:32625", "def": "+proj=utm +zone=25 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 26N", "epsg": "EPSG:32626", "def": "+proj=utm +zone=26 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 27N", "epsg": "EPSG:32627", "def": "+proj=utm +zone=27 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 28N", "epsg": "EPSG:32628", "def": "+proj=utm +zone=28 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 29N", "epsg": "EPSG:32629", "def": "+proj=utm +zone=29 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 30N", "epsg": "EPSG:32630", "def": "+proj=utm +zone=30 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 31N", "epsg": "EPSG:32631", "def": "+proj=utm +zone=31 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 32N", "epsg": "EPSG:32632", "def": "+proj=utm +zone=32 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 33N", "epsg": "EPSG:32633", "def": "+proj=utm +zone=33 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 34N", "epsg": "EPSG:32634", "def": "+proj=utm +zone=34 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 35N", "epsg": "EPSG:32635", "def": "+proj=utm +zone=35 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 36N", "epsg": "EPSG:32636", "def": "+proj=utm +zone=36 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 37N", "epsg": "EPSG:32637", "def": "+proj=utm +zone=37 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 38N", "epsg": "EPSG:32638", "def": "+proj=utm +zone=38 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 39N", "epsg": "EPSG:32639", "def": "+proj=utm +zone=39 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 40N", "epsg": "EPSG:32640", "def": "+proj=utm +zone=40 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 41N", "epsg": "EPSG:32641", "def": "+proj=utm +zone=41 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 42N", "epsg": "EPSG:32642", "def": "+proj=utm +zone=42 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 43N", "epsg": "EPSG:32643", "def": "+proj=utm +zone=43 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 44N", "epsg": "EPSG:32644", "def": "+proj=utm +zone=44 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 45N", "epsg": "EPSG:32645", "def": "+proj=utm +zone=45 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 46N", "epsg": "EPSG:32646", "def": "+proj=utm +zone=46 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 47N", "epsg": "EPSG:32647", "def": "+proj=utm +zone=47 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 48N", "epsg": "EPSG:32648", "def": "+proj=utm +zone=48 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 49N", "epsg": "EPSG:32649", "def": "+proj=utm +zone=49 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 50N", "epsg": "EPSG:32650", "def": "+proj=utm +zone=50 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 51N", "epsg": "EPSG:32651", "def": "+proj=utm +zone=51 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 52N", "epsg": "EPSG:32652", "def": "+proj=utm +zone=52 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 53N", "epsg": "EPSG:32653", "def": "+proj=utm +zone=53 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 54N", "epsg": "EPSG:32654", "def": "+proj=utm +zone=54 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 55N", "epsg": "EPSG:32655", "def": "+proj=utm +zone=55 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 56N", "epsg": "EPSG:32656", "def": "+proj=utm +zone=56 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 57N", "epsg": "EPSG:32657", "def": "+proj=utm +zone=57 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 58N", "epsg": "EPSG:32658", "def": "+proj=utm +zone=58 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 59N", "epsg": "EPSG:32659", "def": "+proj=utm +zone=59 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 60N", "epsg": "EPSG:32660", "def": "+proj=utm +zone=60 +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 1S", "epsg": "EPSG:32701", "def": "+proj=utm +zone=1 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 2S", "epsg": "EPSG:32702", "def": "+proj=utm +zone=2 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 3S", "epsg": "EPSG:32703", "def": "+proj=utm +zone=3 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 4S", "epsg": "EPSG:32704", "def": "+proj=utm +zone=4 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 5S", "epsg": "EPSG:32705", "def": "+proj=utm +zone=5 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 6S", "epsg": "EPSG:32706", "def": "+proj=utm +zone=6 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 7S", "epsg": "EPSG:32707", "def": "+proj=utm +zone=7 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 8S", "epsg": "EPSG:32708", "def": "+proj=utm +zone=8 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 9S", "epsg": "EPSG:32709", "def": "+proj=utm +zone=9 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 10S", "epsg": "EPSG:32710", "def": "+proj=utm +zone=10 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 11S", "epsg": "EPSG:32711", "def": "+proj=utm +zone=11 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 12S", "epsg": "EPSG:32712", "def": "+proj=utm +zone=12 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 13S", "epsg": "EPSG:32713", "def": "+proj=utm +zone=13 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 14S", "epsg": "EPSG:32714", "def": "+proj=utm +zone=14 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 15S", "epsg": "EPSG:32715", "def": "+proj=utm +zone=15 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 16S", "epsg": "EPSG:32716", "def": "+proj=utm +zone=16 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 17S", "epsg": "EPSG:32717", "def": "+proj=utm +zone=17 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 18S", "epsg": "EPSG:32718", "def": "+proj=utm +zone=18 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 19S", "epsg": "EPSG:32719", "def": "+proj=utm +zone=19 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 20S", "epsg": "EPSG:32720", "def": "+proj=utm +zone=20 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 21S", "epsg": "EPSG:32721", "def": "+proj=utm +zone=21 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 22S", "epsg": "EPSG:32722", "def": "+proj=utm +zone=22 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 23S", "epsg": "EPSG:32723", "def": "+proj=utm +zone=23 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 24S", "epsg": "EPSG:32724", "def": "+proj=utm +zone=24 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 25S", "epsg": "EPSG:32725", "def": "+proj=utm +zone=25 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 26S", "epsg": "EPSG:32726", "def": "+proj=utm +zone=26 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 27S", "epsg": "EPSG:32727", "def": "+proj=utm +zone=27 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 28S", "epsg": "EPSG:32728", "def": "+proj=utm +zone=28 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 29S", "epsg": "EPSG:32729", "def": "+proj=utm +zone=29 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 30S", "epsg": "EPSG:32730", "def": "+proj=utm +zone=30 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 31S", "epsg": "EPSG:32731", "def": "+proj=utm +zone=31 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 32S", "epsg": "EPSG:32732", "def": "+proj=utm +zone=32 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 33S", "epsg": "EPSG:32733", "def": "+proj=utm +zone=33 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 34S", "epsg": "EPSG:32734", "def": "+proj=utm +zone=34 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 35S", "epsg": "EPSG:32735", "def": "+proj=utm +zone=35 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 36S", "epsg": "EPSG:32736", "def": "+proj=utm +zone=36 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 37S", "epsg": "EPSG:32737", "def": "+proj=utm +zone=37 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 38S", "epsg": "EPSG:32738", "def": "+proj=utm +zone=38 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 39S", "epsg": "EPSG:32739", "def": "+proj=utm +zone=39 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 40S", "epsg": "EPSG:32740", "def": "+proj=utm +zone=40 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 41S", "epsg": "EPSG:32741", "def": "+proj=utm +zone=41 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 42S", "epsg": "EPSG:32742", "def": "+proj=utm +zone=42 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 43S", "epsg": "EPSG:32743", "def": "+proj=utm +zone=43 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 44S", "epsg": "EPSG:32744", "def": "+proj=utm +zone=44 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 45S", "epsg": "EPSG:32745", "def": "+proj=utm +zone=45 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 46S", "epsg": "EPSG:32746", "def": "+proj=utm +zone=46 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 47S", "epsg": "EPSG:32747", "def": "+proj=utm +zone=47 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 48S", "epsg": "EPSG:32748", "def": "+proj=utm +zone=48 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 49S", "epsg": "EPSG:32749", "def": "+proj=utm +zone=49 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 50S", "epsg": "EPSG:32750", "def": "+proj=utm +zone=50 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 51S", "epsg": "EPSG:32751", "def": "+proj=utm +zone=51 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 52S", "epsg": "EPSG:32752", "def": "+proj=utm +zone=52 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 53S", "epsg": "EPSG:32753", "def": "+proj=utm +zone=53 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 54S", "epsg": "EPSG:32754", "def": "+proj=utm +zone=54 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 55S", "epsg": "EPSG:32755", "def": "+proj=utm +zone=55 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 56S", "epsg": "EPSG:32756", "def": "+proj=utm +zone=56 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 57S", "epsg": "EPSG:32757", "def": "+proj=utm +zone=57 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 58S", "epsg": "EPSG:32758", "def": "+proj=utm +zone=58 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 59S", "epsg": "EPSG:32759", "def": "+proj=utm +zone=59 +south +datum=WGS84 +units=m +no_defs" }, { "name": "WGS 84 / UTM zone 60S", "epsg": "EPSG:32760", "def": "+proj=utm +zone=60 +south +datum=WGS84 +units=m +no_defs" }, { "name": "CGCS2000_GK_Zone_13", "epsg": "EPSG:4491", "def": "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=13500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_GK_Zone_14", "epsg": "EPSG:4492", "def": "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=14500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_GK_Zone_15", "epsg": "EPSG:4493", "def": "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=15500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_GK_Zone_16", "epsg": "EPSG:4494", "def": "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=16500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_GK_Zone_17", "epsg": "EPSG:4495", "def": "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=17500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_GK_Zone_18", "epsg": "EPSG:4496", "def": "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=18500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_GK_Zone_19", "epsg": "EPSG:4497", "def": "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=19500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_GK_Zone_20", "epsg": "EPSG:4498", "def": "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=20500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_GK_Zone_21", "epsg": "EPSG:4499", "def": "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=21500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_GK_Zone_22", "epsg": "EPSG:4500", "def": "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=22500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_GK_Zone_23", "epsg": "EPSG:4501", "def": "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=23500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_GK_CM_75E", "epsg": "EPSG:4502", "def": "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_GK_CM_81E", "epsg": "EPSG:4503", "def": "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_GK_CM_87E", "epsg": "EPSG:4504", "def": "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_GK_CM_93E", "epsg": "EPSG:4505", "def": "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_GK_CM_99E", "epsg": "EPSG:4506", "def": "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_GK_CM_105E", "epsg": "EPSG:4507", "def": "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_GK_CM_111E", "epsg": "EPSG:4508", "def": "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_GK_CM_117E", "epsg": "EPSG:4509", "def": "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_GK_CM_123E", "epsg": "EPSG:4510", "def": "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_GK_CM_129E", "epsg": "EPSG:4511", "def": "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_GK_CM_135E", "epsg": "EPSG:4512", "def": "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_Zone_25", "epsg": "EPSG:4513", "def": "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=25500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_Zone_26", "epsg": "EPSG:4514", "def": "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=26500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_Zone_27", "epsg": "EPSG:4515", "def": "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=27500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_Zone_28", "epsg": "EPSG:4516", "def": "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=28500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_Zone_29", "epsg": "EPSG:4517", "def": "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=29500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_Zone_30", "epsg": "EPSG:4518", "def": "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=30500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_Zone_31", "epsg": "EPSG:4519", "def": "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=31500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_Zone_32", "epsg": "EPSG:4520", "def": "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=32500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_Zone_33", "epsg": "EPSG:4521", "def": "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=33500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_Zone_34", "epsg": "EPSG:4522", "def": "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=34500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_Zone_35", "epsg": "EPSG:4523", "def": "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=35500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_Zone_36", "epsg": "EPSG:4524", "def": "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=36500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_Zone_37", "epsg": "EPSG:4525", "def": "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=37500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_Zone_38", "epsg": "EPSG:4526", "def": "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=38500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_Zone_39", "epsg": "EPSG:4527", "def": "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=39500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_Zone_40", "epsg": "EPSG:4528", "def": "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=40500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_Zone_41", "epsg": "EPSG:4529", "def": "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=41500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_Zone_42", "epsg": "EPSG:4530", "def": "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=42500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_Zone_43", "epsg": "EPSG:4531", "def": "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=43500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_Zone_44", "epsg": "EPSG:4532", "def": "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=44500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_Zone_45", "epsg": "EPSG:4533", "def": "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=45500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_CM_75E", "epsg": "EPSG:4534", "def": "+proj=tmerc +lat_0=0 +lon_0=75 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_CM_78E", "epsg": "EPSG:4535", "def": "+proj=tmerc +lat_0=0 +lon_0=78 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_CM_81E", "epsg": "EPSG:4536", "def": "+proj=tmerc +lat_0=0 +lon_0=81 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_CM_84E", "epsg": "EPSG:4537", "def": "+proj=tmerc +lat_0=0 +lon_0=84 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_CM_87E", "epsg": "EPSG:4538", "def": "+proj=tmerc +lat_0=0 +lon_0=87 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_CM_90E", "epsg": "EPSG:4539", "def": "+proj=tmerc +lat_0=0 +lon_0=90 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_CM_93E", "epsg": "EPSG:4540", "def": "+proj=tmerc +lat_0=0 +lon_0=93 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_CM_96E", "epsg": "EPSG:4541", "def": "+proj=tmerc +lat_0=0 +lon_0=96 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_CM_99E", "epsg": "EPSG:4542", "def": "+proj=tmerc +lat_0=0 +lon_0=99 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_CM_102E", "epsg": "EPSG:4543", "def": "+proj=tmerc +lat_0=0 +lon_0=102 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_CM_105E", "epsg": "EPSG:4544", "def": "+proj=tmerc +lat_0=0 +lon_0=105 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_CM_108E", "epsg": "EPSG:4545", "def": "+proj=tmerc +lat_0=0 +lon_0=108 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_CM_111E", "epsg": "EPSG:4546", "def": "+proj=tmerc +lat_0=0 +lon_0=111 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_CM_114E", "epsg": "EPSG:4547", "def": "+proj=tmerc +lat_0=0 +lon_0=114 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_CM_117E", "epsg": "EPSG:4548", "def": "+proj=tmerc +lat_0=0 +lon_0=117 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_CM_120E", "epsg": "EPSG:4549", "def": "+proj=tmerc +lat_0=0 +lon_0=120 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_CM_123E", "epsg": "EPSG:4550", "def": "+proj=tmerc +lat_0=0 +lon_0=123 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_CM_126E", "epsg": "EPSG:4551", "def": "+proj=tmerc +lat_0=0 +lon_0=126 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_CM_129E", "epsg": "EPSG:4552", "def": "+proj=tmerc +lat_0=0 +lon_0=129 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_CM_132E", "epsg": "EPSG:4553", "def": "+proj=tmerc +lat_0=0 +lon_0=132 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" }, { "name": "CGCS2000_3_Degree_GK_CM_135E", "epsg": "EPSG:4554", "def": "+proj=tmerc +lat_0=0 +lon_0=135 +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs" } ] class Proj { constructor() { this.name_map = new Map() this.epsg_map = new Map() this.initProj() } initProj() { defsArrs.forEach((value) => { proj4.defs( value.epsg, value.def ); this.name_map.set(value.name, value) this.epsg_map.set(value.epsg, value) }) } /** * 坐标系转换 * arrs 二维数组,x,y,z * src 原始投影,可以是name,也可以是epsg * dst 目标投影,可以是name,也可以是epsg * */ convert(points = [], src = "", dst = "") { let result = { points: [], code: 0, message: "" } if (!this.name_map.has(src) && !this.epsg_map.has(src)) { result.code = 1 result.message = "不支持的坐标系:" + src return result } if (!this.name_map.has(dst) && !this.epsg_map.has(dst)) { result.code = 1 result.message = "不支持的坐标系:" + dst return result } let src_epsg = (this.name_map.get(src) || this.epsg_map.get(src)).epsg let dst_epsg = (this.name_map.get(dst) || this.epsg_map.get(dst)).epsg var src_projection = proj4.defs(src_epsg); var dst_projection = proj4.defs(dst_epsg); points.forEach(point => { let x = Number(point.x) let y = Number(point.y) let z = Number(point.z || 0) var res = proj4(src_projection, dst_projection, [x, y]); result.points.push({ "x": Number(res[0].toFixed(10)), "y": Number(res[1].toFixed(10)), "z": z, }) }) return (result) } /** * 获取所有支持的坐标系投影 * */ getAllProjection() { return Array.from(this.name_map.values()) } /*检查是否支持的投影*/ projectionIsExists(projection) { return this.name_map.has(projection) || this.epsg_map.has(projection) } degreesToDMS(degrees, isDM = false) { //小数点尾数 function getDecimalPlaces(num) { const str = num.toString(); const decimalIndex = str.indexOf('.'); if (decimalIndex !== -1) { return str.length - decimalIndex - 1; } return 0; } //10的n次方 function tenToThePowerOfN(n) { return Math.pow(10, n); } let d = Math.floor(degrees); // 获取整度 let pow1 = tenToThePowerOfN(getDecimalPlaces(degrees)) let x = Math.floor((degrees - d) * pow1 * 60) / pow1; // 获取秒(3600分之一度) let m = Math.floor(x); let pow = tenToThePowerOfN(getDecimalPlaces(x)) let s = Math.floor((x - m) * pow) / pow * 60; // 获取秒(3600分之一度) if (isDM) { return d + "°" + Number(x.toFixed(4)) + "'"; // 返回度分格式 } else { return d + "°" + m + "'" + s.toFixed(2) + '"'; // 返回度分秒格式 } } dmsToDecimal(dms, isDM) { let degrees, minutes, seconds if (isDM) { let arr1 = dms.split("°") let arr2 = arr1[1].split("'") degrees = arr1[0] minutes = arr2[0] console.log(degrees, minutes) let n = Math.pow(10, 8); let num = Number(degrees * n) + minutes * n / 60; return Math.round(num) / n } else { let arr1 = dms.split("°") let arr2 = arr1[1].split("'") let arr3 = arr2[1].split('"') degrees = arr1[0] minutes = arr2[0] seconds = arr3[0] console.log(degrees, minutes, seconds) let n = Math.pow(10, 8); let num = Number(degrees * n) + minutes * n / 60 + seconds * n / 3600; return Math.round(num) / n } } } export { Proj }