Files
sdk4.0/src/Tools/proj.js

1070 lines
33 KiB
JavaScript
Raw Normal View History

2025-07-03 13:54:01 +08:00
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
}