UNPKG

wkid

Version:

CGCS2000 coordinate system definitions library with multiple format support

281 lines (280 loc) 26.4 kB
// wkid.ts Object.defineProperty(exports, "__esModule", { value: true }); exports.CGCS2000_DEFINITIONS = exports.CGCS2000_GK_6DEG_WITH_ZONE = exports.CGCS2000_GK_6DEG_NO_ZONE = exports.CGCS2000_GK_3DEG_WITH_ZONE = exports.CGCS2000_GK_3DEG_NO_ZONE = exports.CGCS2000_GEOGRAPHIC = void 0; exports.findCoordinateSystemByWkid = findCoordinateSystemByWkid; exports.findCoordinateSystemByName = findCoordinateSystemByName; exports.getGk3DegNoZone = getGk3DegNoZone; exports.getGk3DegWithZone = getGk3DegWithZone; exports.getGk6DegNoZone = getGk6DegNoZone; exports.getGk6DegWithZone = getGk6DegWithZone; /** * CGCS2000地理坐标系定义 */ exports.CGCS2000_GEOGRAPHIC = { wkid: 4490, name: "CGCS2000 Geographic Coordinate System", ogcWkt: 'GEOGCS["China Geodetic Coordinate System 2000",DATUM["China_2000",SPHEROID["CGCS2000",6378137,298.257222101,AUTHORITY["EPSG","1024"]],AUTHORITY["EPSG","1043"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4490"]]', ogcWkt2: 'GEODCRS["China Geodetic Coordinate System 2000",DATUM["China 2000",ELLIPSOID["CGCS2000",6378137,298.257222101,LENGTHUNIT["metre",1.0],ID["EPSG",1024]],ID["EPSG",1043]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8901]],CS[ellipsoidal,2],AXIS["longitude",east,ORDER[1],ANGLEUNIT["degree",0.0174532925199433,ID["EPSG",9122]]],AXIS["latitude",north,ORDER[2],ANGLEUNIT["degree",0.0174532925199433,ID["EPSG",9122]]],ID["EPSG",4490]]', esriWkt: 'GEOGCS["CGCS2000",DATUM["D_China_Geodetic_Coordinate_System_2000",SPHEROID["CGCS2000",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]]', proj4: '+proj=longlat +ellps=GRS80 +no_defs', proj4js: '+proj=longlat +ellps=GRS80 +datum=GRS80 +no_defs', json: { wkid: 4490, latestWkid: 4490, xyTolerance: 8.983152841195213e-9, zTolerance: 0.001, mTolerance: 0.001, falseX: -400, falseY: -400, xyUnits: 11258999068426.24, zUnits: 10000, mUnits: 10000, datum: { wkid: 1043, latestWkid: 1043, ellipseName: "CGCS2000", radius: 6378137, flattening: 298.257222101 } }, geoserver: '<ProjectionDefinition><name>EPSG:4490</name><wkt>GEOGCS["China Geodetic Coordinate System 2000",DATUM["China_2000",SPHEROID["CGCS2000",6378137,298.257222101,AUTHORITY["EPSG","1024"]],AUTHORITY["EPSG","1043"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4490"]]</wkt></ProjectionDefinition>', mapserver: 'PROJECTION "proj=longlat" "ellps=GRS80" "datum=GRS80" END', mapnik: '+proj=longlat +ellps=GRS80 +datum=GRS80 +no_defs', postgis: 'INSERT into spatial_ref_sys (srid, auth_name, auth_srid, proj4text, srtext) values ( 4490, \'EPSG\', 4490, \'+proj=longlat +ellps=GRS80 +no_defs\', \'GEOGCS["China Geodetic Coordinate System 2000",DATUM["China_2000",SPHEROID["CGCS2000",6378137,298.257222101,AUTHORITY["EPSG","1024"]],AUTHORITY["EPSG","1043"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4490"]]\');' }; /** * CGCS2000高斯-克吕格投影(3度带不带带号)定义 */ exports.CGCS2000_GK_3DEG_NO_ZONE = []; // 生成3度带不带带号定义 (EPSG:4534 - EPSG:4554) for (let i = 25; i <= 45; i++) { const centralMeridian = i * 3; const wkid = 4533 + i - 24; // 从4534开始 exports.CGCS2000_GK_3DEG_NO_ZONE.push({ wkid: wkid, name: `CGCS2000 / 3-degree Gauss-Kruger CM ${centralMeridian}E`, ogcWkt: `PROJCS["CGCS2000 / 3-degree Gauss-Kruger CM ${centralMeridian}E",GEOGCS["CGCS2000",DATUM["China_2000",SPHEROID["CGCS2000",6378137,298.257222101,AUTHORITY["EPSG","1024"]],AUTHORITY["EPSG","1043"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4490"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",${centralMeridian}],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","${wkid}"]]`, ogcWkt2: `PROJCRS["CGCS2000 / 3-degree Gauss-Kruger CM ${centralMeridian}E",BASEGEODCRS["CGCS2000",DATUM["China 2000",ELLIPSOID["CGCS2000",6378137,298.257222101,LENGTHUNIT["metre",1.0],ID["EPSG",1024]],ID["EPSG",1043]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8901]]],CONVERSION["3-degree Gauss-Kruger CM ${centralMeridian}E",METHOD["Transverse Mercator",ID["EPSG",9807]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",${centralMeridian},ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["Scale factor at natural origin",1,SCALEUNIT["unity",1.0],ID["EPSG",8805]],PARAMETER["False easting",500000,LENGTHUNIT["metre",1.0],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1.0],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1.0,ID["EPSG",9001]]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1.0,ID["EPSG",9001]]],ID["EPSG",${wkid}]]`, esriWkt: `PROJCS["CGCS2000_3_Degree_GK_CM_${centralMeridian}E",GEOGCS["GCS_China_Geodetic_Coordinate_System_2000",DATUM["D_China_Geodetic_Coordinate_System_2000",SPHEROID["CGCS2000",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Gauss_Kruger"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",${centralMeridian}],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]`, proj4: `+proj=tmerc +lat_0=0 +lon_0=${centralMeridian} +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs`, proj4js: `+proj=tmerc +lat_0=0 +lon_0=${centralMeridian} +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs`, json: { wkid: wkid, latestWkid: wkid, xyTolerance: 0.001, zTolerance: 0.001, mTolerance: 0.001, falseX: -400, falseY: -400, xyUnits: 10000, zUnits: 10000, mUnits: 10000, datum: { wkid: 1043, latestWkid: 1043, ellipseName: "CGCS2000", radius: 6378137, flattening: 298.257222101 } }, geoserver: `<ProjectionDefinition><name>EPSG:${wkid}</name><wkt>PROJCS["CGCS2000 / 3-degree Gauss-Kruger CM ${centralMeridian}E",GEOGCS["CGCS2000",DATUM["China_2000",SPHEROID["CGCS2000",6378137,298.257222101,AUTHORITY["EPSG","1024"]],AUTHORITY["EPSG","1043"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4490"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",${centralMeridian}],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","${wkid}"]]</wkt></ProjectionDefinition>`, mapserver: `PROJECTION "proj=tmerc" "lat_0=0" "lon_0=${centralMeridian}" "k=1" "x_0=500000" "y_0=0" "ellps=GRS80" "units=m" END`, mapnik: `+proj=tmerc +lat_0=0 +lon_0=${centralMeridian} +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs`, postgis: `INSERT into spatial_ref_sys (srid, auth_name, auth_srid, proj4text, srtext) values ( ${wkid}, 'EPSG', ${wkid}, '+proj=tmerc +lat_0=0 +lon_0=${centralMeridian} +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs', 'PROJCS["CGCS2000 / 3-degree Gauss-Kruger CM ${centralMeridian}E",GEOGCS["CGCS2000",DATUM["China_2000",SPHEROID["CGCS2000",6378137,298.257222101,AUTHORITY["EPSG","1024"]],AUTHORITY["EPSG","1043"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4490"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",${centralMeridian}],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","${wkid}"]]');` }); } /** * CGCS2000高斯-克吕格投影(3度带带带号)定义 */ exports.CGCS2000_GK_3DEG_WITH_ZONE = []; // 生成3度带带带号定义 (EPSG:4513 - EPSG:4533) for (let i = 25; i <= 45; i++) { const zone = i; const wkid = 4512 + zone - 24; // 从4513开始 const centralMeridian = zone * 3; exports.CGCS2000_GK_3DEG_WITH_ZONE.push({ wkid: wkid, name: `CGCS2000 / 3-degree Gauss-Kruger zone ${zone}`, ogcWkt: `PROJCS["CGCS2000 / 3-degree Gauss-Kruger zone ${zone}",GEOGCS["CGCS2000",DATUM["China_2000",SPHEROID["CGCS2000",6378137,298.257222101,AUTHORITY["EPSG","1024"]],AUTHORITY["EPSG","1043"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4490"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",${centralMeridian}],PARAMETER["scale_factor",1],PARAMETER["false_easting",${zone * 1000000 + 500000}],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","${wkid}"]]`, ogcWkt2: `PROJCRS["CGCS2000 / 3-degree Gauss-Kruger zone ${zone}",BASEGEODCRS["CGCS2000",DATUM["China 2000",ELLIPSOID["CGCS2000",6378137,298.257222101,LENGTHUNIT["metre",1.0],ID["EPSG",1024]],ID["EPSG",1043]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8901]]],CONVERSION["3-degree Gauss-Kruger zone ${zone}",METHOD["Transverse Mercator",ID["EPSG",9807]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",${centralMeridian},ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["Scale factor at natural origin",1,SCALEUNIT["unity",1.0],ID["EPSG",8805]],PARAMETER["False easting",${zone * 1000000 + 500000},LENGTHUNIT["metre",1.0],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1.0],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1.0,ID["EPSG",9001]]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1.0,ID["EPSG",9001]]],ID["EPSG",${wkid}]]`, esriWkt: `PROJCS["CGCS2000_3_Degree_GK_Zone_${zone}",GEOGCS["GCS_China_Geodetic_Coordinate_System_2000",DATUM["D_China_Geodetic_Coordinate_System_2000",SPHEROID["CGCS2000",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Gauss_Kruger"],PARAMETER["False_Easting",${zone * 1000000 + 500000}],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",${centralMeridian}],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]`, proj4: `+proj=tmerc +lat_0=0 +lon_0=${centralMeridian} +k=1 +x_0=${zone * 1000000 + 500000} +y_0=0 +ellps=GRS80 +units=m +no_defs`, proj4js: `+proj=tmerc +lat_0=0 +lon_0=${centralMeridian} +k=1 +x_0=${zone * 1000000 + 500000} +y_0=0 +ellps=GRS80 +units=m +no_defs`, json: { wkid: wkid, latestWkid: wkid, xyTolerance: 0.001, zTolerance: 0.001, mTolerance: 0.001, falseX: -400, falseY: -400, xyUnits: 10000, zUnits: 10000, mUnits: 10000, datum: { wkid: 1043, latestWkid: 1043, ellipseName: "CGCS2000", radius: 6378137, flattening: 298.257222101 } }, geoserver: `<ProjectionDefinition><name>EPSG:${wkid}</name><wkt>PROJCS["CGCS2000 / 3-degree Gauss-Kruger zone ${zone}",GEOGCS["CGCS2000",DATUM["China_2000",SPHEROID["CGCS2000",6378137,298.257222101,AUTHORITY["EPSG","1024"]],AUTHORITY["EPSG","1043"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4490"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",${centralMeridian}],PARAMETER["scale_factor",1],PARAMETER["false_easting",${zone * 1000000 + 500000}],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","${wkid}"]]</wkt></ProjectionDefinition>`, mapserver: `PROJECTION "proj=tmerc" "lat_0=0" "lon_0=${centralMeridian}" "k=1" "x_0=${zone * 1000000 + 500000}" "y_0=0" "ellps=GRS80" "units=m" END`, mapnik: `+proj=tmerc +lat_0=0 +lon_0=${centralMeridian} +k=1 +x_0=${zone * 1000000 + 500000} +y_0=0 +ellps=GRS80 +units=m +no_defs`, postgis: `INSERT into spatial_ref_sys (srid, auth_name, auth_srid, proj4text, srtext) values ( ${wkid}, 'EPSG', ${wkid}, '+proj=tmerc +lat_0=0 +lon_0=${centralMeridian} +k=1 +x_0=${zone * 1000000 + 500000} +y_0=0 +ellps=GRS80 +units=m +no_defs', 'PROJCS["CGCS2000 / 3-degree Gauss-Kruger zone ${zone}",GEOGCS["CGCS2000",DATUM["China_2000",SPHEROID["CGCS2000",6378137,298.257222101,AUTHORITY["EPSG","1024"]],AUTHORITY["EPSG","1043"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4490"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",${centralMeridian}],PARAMETER["scale_factor",1],PARAMETER["false_easting",${zone * 1000000 + 500000}],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","${wkid}"]]');` }); } /** * CGCS2000高斯-克吕格投影(6度带不带带号)定义 */ exports.CGCS2000_GK_6DEG_NO_ZONE = []; // 生成6度带不带带号定义 (EPSG:4502 - EPSG:4512) for (let i = 13; i <= 23; i++) { const centralMeridian = i * 6 - 3; const wkid = 4501 + i - 12; // 从4502开始 exports.CGCS2000_GK_6DEG_NO_ZONE.push({ wkid: wkid, name: `CGCS2000 / 6-degree Gauss-Kruger CM ${centralMeridian}E`, ogcWkt: `PROJCS["CGCS2000 / 6-degree Gauss-Kruger CM ${centralMeridian}E",GEOGCS["CGCS2000",DATUM["China_2000",SPHEROID["CGCS2000",6378137,298.257222101,AUTHORITY["EPSG","1024"]],AUTHORITY["EPSG","1043"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4490"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",${centralMeridian}],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","${wkid}"]]`, ogcWkt2: `PROJCRS["CGCS2000 / 6-degree Gauss-Kruger CM ${centralMeridian}E",BASEGEODCRS["CGCS2000",DATUM["China 2000",ELLIPSOID["CGCS2000",6378137,298.257222101,LENGTHUNIT["metre",1.0],ID["EPSG",1024]],ID["EPSG",1043]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8901]]],CONVERSION["6-degree Gauss-Kruger CM ${centralMeridian}E",METHOD["Transverse Mercator",ID["EPSG",9807]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",${centralMeridian},ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["Scale factor at natural origin",1,SCALEUNIT["unity",1.0],ID["EPSG",8805]],PARAMETER["False easting",500000,LENGTHUNIT["metre",1.0],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1.0],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1.0,ID["EPSG",9001]]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1.0,ID["EPSG",9001]]],ID["EPSG",${wkid}]]`, esriWkt: `PROJCS["CGCS2000_6_Degree_GK_CM_${centralMeridian}E",GEOGCS["GCS_China_Geodetic_Coordinate_System_2000",DATUM["D_China_Geodetic_Coordinate_System_2000",SPHEROID["CGCS2000",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Gauss_Kruger"],PARAMETER["False_Easting",500000],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",${centralMeridian}],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]`, proj4: `+proj=tmerc +lat_0=0 +lon_0=${centralMeridian} +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs`, proj4js: `+proj=tmerc +lat_0=0 +lon_0=${centralMeridian} +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs`, json: { wkid: wkid, latestWkid: wkid, xyTolerance: 0.001, zTolerance: 0.001, mTolerance: 0.001, falseX: -400, falseY: -400, xyUnits: 10000, zUnits: 10000, mUnits: 10000, datum: { wkid: 1043, latestWkid: 1043, ellipseName: "CGCS2000", radius: 6378137, flattening: 298.257222101 } }, geoserver: `<ProjectionDefinition><name>EPSG:${wkid}</name><wkt>PROJCS["CGCS2000 / 6-degree Gauss-Kruger CM ${centralMeridian}E",GEOGCS["CGCS2000",DATUM["China_2000",SPHEROID["CGCS2000",6378137,298.257222101,AUTHORITY["EPSG","1024"]],AUTHORITY["EPSG","1043"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4490"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",${centralMeridian}],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","${wkid}"]]</wkt></ProjectionDefinition>`, mapserver: `PROJECTION "proj=tmerc" "lat_0=0" "lon_0=${centralMeridian}" "k=1" "x_0=500000" "y_0=0" "ellps=GRS80" "units=m" END`, mapnik: `+proj=tmerc +lat_0=0 +lon_0=${centralMeridian} +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs`, postgis: `INSERT into spatial_ref_sys (srid, auth_name, auth_srid, proj4text, srtext) values ( ${wkid}, 'EPSG', ${wkid}, '+proj=tmerc +lat_0=0 +lon_0=${centralMeridian} +k=1 +x_0=500000 +y_0=0 +ellps=GRS80 +units=m +no_defs', 'PROJCS["CGCS2000 / 6-degree Gauss-Kruger CM ${centralMeridian}E",GEOGCS["CGCS2000",DATUM["China_2000",SPHEROID["CGCS2000",6378137,298.257222101,AUTHORITY["EPSG","1024"]],AUTHORITY["EPSG","1043"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4490"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",${centralMeridian}],PARAMETER["scale_factor",1],PARAMETER["false_easting",500000],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","${wkid}"]]');` }); } /** * CGCS2000高斯-克吕格投影(6度带带带号)定义 */ exports.CGCS2000_GK_6DEG_WITH_ZONE = []; // 生成6度带带带号定义 (EPSG:4491 - EPSG:4501) for (let i = 13; i <= 23; i++) { const zone = i; const wkid = 4490 + zone - 12; // 从4491开始 const centralMeridian = zone * 6 - 3; exports.CGCS2000_GK_6DEG_WITH_ZONE.push({ wkid: wkid, name: `CGCS2000 / 6-degree Gauss-Kruger zone ${zone}`, ogcWkt: `PROJCS["CGCS2000 / 6-degree Gauss-Kruger zone ${zone}",GEOGCS["CGCS2000",DATUM["China_2000",SPHEROID["CGCS2000",6378137,298.257222101,AUTHORITY["EPSG","1024"]],AUTHORITY["EPSG","1043"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4490"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",${centralMeridian}],PARAMETER["scale_factor",1],PARAMETER["false_easting",${zone * 1000000 + 500000}],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","${wkid}"]]`, ogcWkt2: `PROJCRS["CGCS2000 / 6-degree Gauss-Kruger zone ${zone}",BASEGEODCRS["CGCS2000",DATUM["China 2000",ELLIPSOID["CGCS2000",6378137,298.257222101,LENGTHUNIT["metre",1.0],ID["EPSG",1024]],ID["EPSG",1043]],PRIMEM["Greenwich",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8901]]],CONVERSION["6-degree Gauss-Kruger zone ${zone}",METHOD["Transverse Mercator",ID["EPSG",9807]],PARAMETER["Latitude of natural origin",0,ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8801]],PARAMETER["Longitude of natural origin",${centralMeridian},ANGLEUNIT["degree",0.0174532925199433],ID["EPSG",8802]],PARAMETER["Scale factor at natural origin",1,SCALEUNIT["unity",1.0],ID["EPSG",8805]],PARAMETER["False easting",${zone * 1000000 + 500000},LENGTHUNIT["metre",1.0],ID["EPSG",8806]],PARAMETER["False northing",0,LENGTHUNIT["metre",1.0],ID["EPSG",8807]]],CS[Cartesian,2],AXIS["(E)",east,ORDER[1],LENGTHUNIT["metre",1.0,ID["EPSG",9001]]],AXIS["(N)",north,ORDER[2],LENGTHUNIT["metre",1.0,ID["EPSG",9001]]],ID["EPSG",${wkid}]]`, esriWkt: `PROJCS["CGCS2000_6_Degree_GK_Zone_${zone}",GEOGCS["GCS_China_Geodetic_Coordinate_System_2000",DATUM["D_China_Geodetic_Coordinate_System_2000",SPHEROID["CGCS2000",6378137.0,298.257222101]],PRIMEM["Greenwich",0.0],UNIT["Degree",0.0174532925199433]],PROJECTION["Gauss_Kruger"],PARAMETER["False_Easting",${zone * 1000000 + 500000}],PARAMETER["False_Northing",0.0],PARAMETER["Central_Meridian",${centralMeridian}],PARAMETER["Scale_Factor",1.0],PARAMETER["Latitude_Of_Origin",0.0],UNIT["Meter",1.0]]`, proj4: `+proj=tmerc +lat_0=0 +lon_0=${centralMeridian} +k=1 +x_0=${zone * 1000000 + 500000} +y_0=0 +ellps=GRS80 +units=m +no_defs`, proj4js: `+proj=tmerc +lat_0=0 +lon_0=${centralMeridian} +k=1 +x_0=${zone * 1000000 + 500000} +y_0=0 +ellps=GRS80 +units=m +no_defs`, json: { wkid: wkid, latestWkid: wkid, xyTolerance: 0.001, zTolerance: 0.001, mTolerance: 0.001, falseX: -400, falseY: -400, xyUnits: 10000, zUnits: 10000, mUnits: 10000, datum: { wkid: 1043, latestWkid: 1043, ellipseName: "CGCS2000", radius: 6378137, flattening: 298.257222101 } }, geoserver: `<ProjectionDefinition><name>EPSG:${wkid}</name><wkt>PROJCS["CGCS2000 / 6-degree Gauss-Kruger zone ${zone}",GEOGCS["CGCS2000",DATUM["China_2000",SPHEROID["CGCS2000",6378137,298.257222101,AUTHORITY["EPSG","1024"]],AUTHORITY["EPSG","1043"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4490"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",${centralMeridian}],PARAMETER["scale_factor",1],PARAMETER["false_easting",${zone * 1000000 + 500000}],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","${wkid}"]]</wkt></ProjectionDefinition>`, mapserver: `PROJECTION "proj=tmerc" "lat_0=0" "lon_0=${centralMeridian}" "k=1" "x_0=${zone * 1000000 + 500000}" "y_0=0" "ellps=GRS80" "units=m" END`, mapnik: `+proj=tmerc +lat_0=0 +lon_0=${centralMeridian} +k=1 +x_0=${zone * 1000000 + 500000} +y_0=0 +ellps=GRS80 +units=m +no_defs`, postgis: `INSERT into spatial_ref_sys (srid, auth_name, auth_srid, proj4text, srtext) values ( ${wkid}, 'EPSG', ${wkid}, '+proj=tmerc +lat_0=0 +lon_0=${centralMeridian} +k=1 +x_0=${zone * 1000000 + 500000} +y_0=0 +ellps=GRS80 +units=m +no_defs', 'PROJCS["CGCS2000 / 6-degree Gauss-Kruger zone ${zone}",GEOGCS["CGCS2000",DATUM["China_2000",SPHEROID["CGCS2000",6378137,298.257222101,AUTHORITY["EPSG","1024"]],AUTHORITY["EPSG","1043"]],PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.0174532925199433,AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4490"]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",${centralMeridian}],PARAMETER["scale_factor",1],PARAMETER["false_easting",${zone * 1000000 + 500000}],PARAMETER["false_northing",0],UNIT["metre",1,AUTHORITY["EPSG","9001"]],AUTHORITY["EPSG","${wkid}"]]');` }); } /** * 所有CGCS2000坐标系定义的集合 */ exports.CGCS2000_DEFINITIONS = [ exports.CGCS2000_GEOGRAPHIC, ...exports.CGCS2000_GK_6DEG_WITH_ZONE, ...exports.CGCS2000_GK_6DEG_NO_ZONE, ...exports.CGCS2000_GK_3DEG_WITH_ZONE, ...exports.CGCS2000_GK_3DEG_NO_ZONE ]; /** * 根据WKID查找坐标系定义 * @param wkid 坐标系WKID * @returns 坐标系定义或undefined */ function findCoordinateSystemByWkid(wkid) { return exports.CGCS2000_DEFINITIONS.find(cs => cs.wkid === wkid); } /** * 根据名称查找坐标系定义 * @param name 坐标系名称 * @returns 坐标系定义或undefined */ function findCoordinateSystemByName(name) { return exports.CGCS2000_DEFINITIONS.find(cs => cs.name === name); } /** * 获取所有3度带不带带号坐标系定义 * @returns 3度带不带带号坐标系定义数组 */ function getGk3DegNoZone() { return [...exports.CGCS2000_GK_3DEG_NO_ZONE]; } /** * 获取所有3度带带带号坐标系定义 * @returns 3度带带带号坐标系定义数组 */ function getGk3DegWithZone() { return [...exports.CGCS2000_GK_3DEG_WITH_ZONE]; } /** * 获取所有6度带不带带号坐标系定义 * @returns 6度带不带带号坐标系定义数组 */ function getGk6DegNoZone() { return [...exports.CGCS2000_GK_6DEG_NO_ZONE]; } /** * 获取所有6度带带带号坐标系定义 * @returns 6度带带带号坐标系定义数组 */ function getGk6DegWithZone() { return [...exports.CGCS2000_GK_6DEG_WITH_ZONE]; } exports.default = { CGCS2000_GEOGRAPHIC: exports.CGCS2000_GEOGRAPHIC, CGCS2000_GK_3DEG_NO_ZONE: exports.CGCS2000_GK_3DEG_NO_ZONE, CGCS2000_GK_3DEG_WITH_ZONE: exports.CGCS2000_GK_3DEG_WITH_ZONE, CGCS2000_GK_6DEG_NO_ZONE: exports.CGCS2000_GK_6DEG_NO_ZONE, CGCS2000_GK_6DEG_WITH_ZONE: exports.CGCS2000_GK_6DEG_WITH_ZONE, CGCS2000_DEFINITIONS: exports.CGCS2000_DEFINITIONS, findCoordinateSystemByWkid, findCoordinateSystemByName, getGk3DegNoZone, getGk3DegWithZone, getGk6DegNoZone, getGk6DegWithZone }; console.log(findCoordinateSystemByWkid(4491)); //# sourceMappingURL=wkid.esm.js.map