get-epsg-code
Version:
Gets EPSG Code for Various Inputs (incl. OGC WKT, ESRI WKT, GML, Mapfile, PROJ String, Proj4js String, XML)
6 lines • 96.7 kB
JavaScript
(()=>{var se=Object.defineProperty;var n=(A,e)=>se(A,"name",{value:e,configurable:!0});var B=(A,e)=>()=>(e||A((e={exports:{}}).exports,e),e.exports);var wA=B((so,L)=>{var I={};I.char2bits={0:"110100",1:"110101",2:"110110",3:"110111",4:"111000",5:"111001",6:"111010",7:"111011",8:"111100",9:"111101",A:"000000",Q:"010000",g:"100000",w:"110000",B:"000001",R:"010001",h:"100001",x:"110001",C:"000010",S:"010010",i:"100010",y:"110010",D:"000011",T:"010011",j:"100011",z:"110011",E:"000100",U:"010100",k:"100100",F:"000101",V:"010101",l:"100101",G:"000110",W:"010110",m:"100110",H:"000111",X:"010111",n:"100111",I:"001000",Y:"011000",o:"101000",J:"001001",Z:"011001",p:"101001",K:"001010",a:"011010",q:"101010",L:"001011",b:"011011",r:"101011",M:"001100",c:"011100",s:"101100",N:"001101",d:"011101",t:"101101",O:"001110",e:"011110",u:"101110","+":"111110",P:"001111",f:"011111",v:"101111","/":"111111"};I.toArrayBuffer=n(function(e){var o=I.char2bits,t=0;for(let Q=e.length;Q>=0;Q--)e[Q]==="="&&t++;for(var r=e.length-t,s=Math.floor(.75*r),i=new Uint8Array(s),g="",w=0;w<r;w++){var h=e[w];if(h==="=")break;g+=o[h],g.length>=8&&(i[Math.floor(.75*w)]=parseInt(g.substring(0,8),2),g=g.substring(8))}return i.buffer},"toArrayBuffer");I.toBase64String=n(function(e){if(!I.bits2char){I.bits2char={};for(let w in I.char2bits)I.bits2char[I.char2bits[w]]=w}for(var o=I.bits2char,t=new Uint8Array(e),r="",s="",i=0;i<t.length;i++){for(var g=t[i].toString(2);g.length<8;)g="0"+g;for(s+=g;s.length>=6;)r+=o[s.substring(0,6)],s=s.substring(6)}if(s.length>0){for(;s.length<6;)s+="0";r+=o[s]}for(;r.length%4!==0;)r+="=";return r},"toBase64String");typeof define=="function"&&define.amd&&define(function(){return I});typeof L=="object"&&(L.exports=I);typeof window=="object"&&(window.b64ab=I);typeof self=="object"&&(self.b64ab=I)});var hA=B((no,J)=>{function iA(A,e,o){let r=new RegExp(e).exec(A.slice(o));return r?o+r.index:-1}n(iA,"indexOfMatch");J.exports=iA;J.exports.default=iA});var QA=B((io,T)=>{function BA(A,e,o){let r=new RegExp(e).exec(A.slice(o));return r?o+r.index+r[0].length-1:-1}n(BA,"indexOfMatchEnd");T.exports=BA;T.exports.default=BA});var IA=B((Bo,p)=>{function EA(A,e){let o=new RegExp(e,"g"),t=A.match(o);return t?t.length:0}n(EA,"countSubstring");p.exports=EA;p.exports.default=EA});var U=B((Eo,m)=>{var ge=hA(),W=QA(),cA=IA();function lA(A,e,o){let t=o&&o.debug||!1,r=!(o&&typeof o.nested===!1),s=o&&o.startIndex||0;t&&console.log("[xml-utils] starting findTagByName with",e," and ",o);let i=ge(A,`<${e}[
>/]`,s);if(t&&console.log("[xml-utils] start:",i),i===-1)return;let g=A.slice(i+e.length),w=W(g,"^[^<]*[ /]>",0),h=w!==-1&&g[w-1]==="/";if(t&&console.log("[xml-utils] selfClosing:",h),h===!1)if(r){let F=0,sA=1,gA=0;for(;(w=W(g,"[ /]"+e+">",F))!==-1;){let nA=g.substring(F,w+1);if(sA+=cA(nA,"<"+e+`[
>]`),gA+=cA(nA,"</"+e+">"),gA>=sA)break;F=w}}else w=W(g,"[ /]"+e+">",0);let Q=i+e.length+w+1;if(t&&console.log("[xml-utils] end:",Q),Q===-1)return;let E=A.slice(i,Q),x;return h?x=null:x=E.slice(E.indexOf(">")+1,E.lastIndexOf("<")),{inner:x,outer:E,start:i,end:Q}}n(lA,"findTagByName");m.exports=lA;m.exports.default=lA});var xA=B((co,V)=>{var ne=U();function aA(A,e,o){let t=[],r=o&&o.debug||!1,s=o&&typeof o.nested=="boolean"?o.nested:!0,i=o&&o.startIndex||0,g;for(;g=ne(A,e,{debug:r,startIndex:i});)s?i=g.start+1+e.length:i=g.end,t.push(g);return r&&console.log("findTagsByName found",t.length,"tags"),t}n(aA,"findTagsByName");V.exports=aA;V.exports.default=aA});var OA=B((ao,y)=>{var HA=xA();function NA(A,e,o){let t=o&&o.debug||!1,r=o&&o.returnOnFirst||!1,s=HA(A,e.shift(),{debug:t,nested:!1});t&&console.log("first tags are:",s);for(let i=0;i<e.length;i++){let g=e[i];t&&console.log("tagName:",g);let w=[];for(let h=0;h<s.length;h++){let Q=s[h],E=HA(Q.outer,g,{debug:t,startIndex:1});if(t&&console.log("subTags.length:",E.length),E.length>0){if(E.forEach(x=>{x.start+=Q.start,x.end+=Q.start}),r&&i===e.length-1)return[E[0]];w=w.concat(E)}}s=w}return s}n(NA,"findTagsByPath");y.exports=NA;y.exports.default=NA});var PA=B((Ho,v)=>{var we=OA();function GA(A,e,o){let t=o&&o.debug||!1,r=we(A,e,{debug:t,returnOnFirst:!0});if(Array.isArray(r)&&r.length===1)return r[0]}n(GA,"findTagByPath");v.exports=GA;v.exports.default=GA});var fA=B((Oo,S)=>{function uA(A,e,o){let t=o&&o.debug||!1;t&&console.log("[xml-utils] getting "+e+" in "+A);let r=typeof A=="object"?A.outer:A,s=r.slice(0,r.indexOf(">")+1),i=['"',"'"];for(let g=0;g<i.length;g++){let w=i[g],h=e+"\\="+w+"([^"+w+"]*)"+w;t&&console.log("[xml-utils] pattern:",h);let E=new RegExp(h).exec(s);if(t&&console.log("[xml-utils] match:",E),E)return E[1]}}n(uA,"getAttribute");S.exports=uA;S.exports.default=uA});var KA=B((Po,DA)=>{"use strict";var N=1,CA=2,kA=3,u=4,MA=5,X=-1,ie=/\s/,he=/[A-Za-z]/,Be=/[A-Za-z84_]/,f=/[,\]]/,dA=/[\d\.E\-\+]/;function l(A){if(typeof A!="string")throw new Error("not a string");this.text=A.trim(),this.level=0,this.place=0,this.root=null,this.stack=[],this.currentObject=null,this.state=N}n(l,"Parser");l.prototype.readCharicter=function(){var A=this.text[this.place++];if(this.state!==u)for(;ie.test(A);){if(this.place>=this.text.length)return;A=this.text[this.place++]}switch(this.state){case N:return this.neutral(A);case CA:return this.keyword(A);case u:return this.quoted(A);case MA:return this.afterquote(A);case kA:return this.number(A);case X:return}};l.prototype.afterquote=function(A){if(A==='"'){this.word+='"',this.state=u;return}if(f.test(A)){this.word=this.word.trim(),this.afterItem(A);return}throw new Error(`havn't handled "`+A+'" in afterquote yet, index '+this.place)};l.prototype.afterItem=function(A){if(A===","){this.word!==null&&this.currentObject.push(this.word),this.word=null,this.state=N;return}if(A==="]"){this.level--,this.word!==null&&(this.currentObject.push(this.word),this.word=null),this.state=N,this.currentObject=this.stack.pop(),this.currentObject||(this.state=X);return}};l.prototype.number=function(A){if(dA.test(A)){this.word+=A;return}if(f.test(A)){this.word=parseFloat(this.word),this.afterItem(A);return}throw new Error(`havn't handled "`+A+'" in number yet, index '+this.place)};l.prototype.quoted=function(A){if(A==='"'){this.state=MA;return}this.word+=A};l.prototype.keyword=function(A){if(Be.test(A)){this.word+=A;return}if(A==="["){var e=[];e.push(this.word),this.level++,this.root===null?this.root=e:this.currentObject.push(e),this.stack.push(this.currentObject),this.currentObject=e,this.state=N;return}if(f.test(A)){this.afterItem(A);return}throw new Error(`havn't handled "`+A+'" in keyword yet, index '+this.place)};l.prototype.neutral=function(A){if(he.test(A)){this.word=A,this.state=CA;return}if(A==='"'){this.word="",this.state=u;return}if(dA.test(A)){this.word=A,this.state=kA;return}if(f.test(A)){this.afterItem(A);return}throw new Error(`havn't handled "`+A+'" in neutral yet, index '+this.place)};l.prototype.output=function(){for(;this.place<this.text.length;)this.readCharicter();if(this.state===X)return this.root;throw new Error('unable to parse string "'+this.text+'". State is '+this.state)};function Qe(A){var e=new l(A);return e.output()}n(Qe,"parseString");function RA(A,e,o){Array.isArray(e)&&(o.unshift(e),e=null);var t=e?{}:A,r=o.reduce(function(s,i){return H(i,s),s},t);e&&(A[e]=r)}n(RA,"mapit");function H(A,e){if(!Array.isArray(A)){e[A]=!0;return}var o=A.shift();if(o==="PARAMETER"&&(o=A.shift()),A.length===1){if(Array.isArray(A[0])){e[o]={},H(A[0],e[o]);return}e[o]=A[0];return}if(!A.length){e[o]=!0;return}if(o==="TOWGS84"){e[o]=A;return}if(o==="AXIS"){o in e||(e[o]=[]),e[o].push(A);return}Array.isArray(o)||(e[o]={});var t;switch(o){case"UNIT":case"PRIMEM":case"VERT_DATUM":e[o]={name:A[0].toLowerCase(),convert:A[1]},A.length===3&&H(A[2],e[o]);return;case"SPHEROID":case"ELLIPSOID":e[o]={name:A[0],a:A[1],rf:A[2]},A.length===4&&H(A[3],e[o]);return;case"PROJECTEDCRS":case"PROJCRS":case"GEOGCS":case"GEOCCS":case"PROJCS":case"LOCAL_CS":case"GEODCRS":case"GEODETICCRS":case"GEODETICDATUM":case"EDATUM":case"ENGINEERINGDATUM":case"VERT_CS":case"VERTCRS":case"VERTICALCRS":case"COMPD_CS":case"COMPOUNDCRS":case"ENGINEERINGCRS":case"ENGCRS":case"FITTED_CS":case"LOCAL_DATUM":case"DATUM":A[0]=["name",A[0]],RA(e,o,A);return;default:for(t=-1;++t<A.length;)if(!Array.isArray(A[t]))return H(A,e[o]);return RA(e,o,A)}}n(H,"sExpr");var Ee=.017453292519943295;function Ie(A,e){var o=e[0],t=e[1];!(o in A)&&t in A&&(A[o]=A[t],e.length===3&&(A[o]=e[2](A[o])))}n(Ie,"rename");function c(A){return A*Ee}n(c,"d2r");function ce(A){if(A.type==="GEOGCS"?A.projName="longlat":A.type==="LOCAL_CS"?(A.projName="identity",A.local=!0):typeof A.PROJECTION=="object"?A.projName=Object.keys(A.PROJECTION)[0]:A.projName=A.PROJECTION,A.AXIS){for(var e="",o=0,t=A.AXIS.length;o<t;++o){var r=[A.AXIS[o][0].toLowerCase(),A.AXIS[o][1].toLowerCase()];r[0].indexOf("north")!==-1||(r[0]==="y"||r[0]==="lat")&&r[1]==="north"?e+="n":r[0].indexOf("south")!==-1||(r[0]==="y"||r[0]==="lat")&&r[1]==="south"?e+="s":r[0].indexOf("east")!==-1||(r[0]==="x"||r[0]==="lon")&&r[1]==="east"?e+="e":(r[0].indexOf("west")!==-1||(r[0]==="x"||r[0]==="lon")&&r[1]==="west")&&(e+="w")}e.length===2&&(e+="u"),e.length===3&&(A.axis=e)}A.UNIT&&(A.units=A.UNIT.name.toLowerCase(),A.units==="metre"&&(A.units="meter"),A.UNIT.convert&&(A.type==="GEOGCS"?A.DATUM&&A.DATUM.SPHEROID&&(A.to_meter=A.UNIT.convert*A.DATUM.SPHEROID.a):A.to_meter=A.UNIT.convert));var s=A.GEOGCS;A.type==="GEOGCS"&&(s=A),s&&(s.DATUM?A.datumCode=s.DATUM.name.toLowerCase():A.datumCode=s.name.toLowerCase(),A.datumCode.slice(0,2)==="d_"&&(A.datumCode=A.datumCode.slice(2)),(A.datumCode==="new_zealand_geodetic_datum_1949"||A.datumCode==="new_zealand_1949")&&(A.datumCode="nzgd49"),(A.datumCode==="wgs_1984"||A.datumCode==="world_geodetic_system_1984")&&(A.PROJECTION==="Mercator_Auxiliary_Sphere"&&(A.sphere=!0),A.datumCode="wgs84"),A.datumCode.slice(-6)==="_ferro"&&(A.datumCode=A.datumCode.slice(0,-6)),A.datumCode.slice(-8)==="_jakarta"&&(A.datumCode=A.datumCode.slice(0,-8)),~A.datumCode.indexOf("belge")&&(A.datumCode="rnb72"),s.DATUM&&s.DATUM.SPHEROID&&(A.ellps=s.DATUM.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),A.ellps.toLowerCase().slice(0,13)==="international"&&(A.ellps="intl"),A.a=s.DATUM.SPHEROID.a,A.rf=parseFloat(s.DATUM.SPHEROID.rf,10)),s.DATUM&&s.DATUM.TOWGS84&&(A.datum_params=s.DATUM.TOWGS84),~A.datumCode.indexOf("osgb_1936")&&(A.datumCode="osgb36"),~A.datumCode.indexOf("osni_1952")&&(A.datumCode="osni52"),(~A.datumCode.indexOf("tm65")||~A.datumCode.indexOf("geodetic_datum_of_1965"))&&(A.datumCode="ire65"),A.datumCode==="ch1903+"&&(A.datumCode="ch1903"),~A.datumCode.indexOf("israel")&&(A.datumCode="isr93")),A.b&&!isFinite(A.b)&&(A.b=A.a);function i(h){var Q=A.to_meter||1;return h*Q}n(i,"toMeter");var g=n(function(h){return Ie(A,h)},"renamer"),w=[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_1","Latitude of 1st standard parallel"],["standard_parallel_2","Standard_Parallel_2"],["standard_parallel_2","Latitude of 2nd standard parallel"],["false_easting","False_Easting"],["false_easting","False easting"],["false-easting","Easting at false origin"],["false_northing","False_Northing"],["false_northing","False northing"],["false_northing","Northing at false origin"],["central_meridian","Central_Meridian"],["central_meridian","Longitude of natural origin"],["central_meridian","Longitude of false origin"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["latitude_of_origin","Latitude of natural origin"],["latitude_of_origin","Latitude of false origin"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_Of_Center"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",c],["longitude_of_center","Longitude_Of_Center"],["longitude_of_center","Longitude_of_center"],["longc","longitude_of_center",c],["x0","false_easting",i],["y0","false_northing",i],["long0","central_meridian",c],["lat0","latitude_of_origin",c],["lat0","standard_parallel_1",c],["lat1","standard_parallel_1",c],["lat2","standard_parallel_2",c],["azimuth","Azimuth"],["alpha","azimuth",c],["srsCode","name"]];w.forEach(g),!A.long0&&A.longc&&(A.projName==="Albers_Conic_Equal_Area"||A.projName==="Lambert_Azimuthal_Equal_Area")&&(A.long0=A.longc),!A.lat_ts&&A.lat1&&(A.projName==="Stereographic_South_Pole"||A.projName==="Polar Stereographic (variant B)")?(A.lat0=c(A.lat1>0?90:-90),A.lat_ts=A.lat1):!A.lat_ts&&A.lat0&&A.projName==="Polar_Stereographic"&&(A.lat_ts=A.lat0,A.lat0=c(A.lat0>0?90:-90))}n(ce,"cleanWKT");var le=n(function(A){var e=Qe(A),o=e.shift(),t=e.shift();e.unshift(["name",t]),e.unshift(["type",o]);var r={};return H(e,r),ce(r),r},"index");DA.exports=le});var FA=B((fo,R)=>{function q(A){if(!A)return;let e=/PROJCS\[\"([^"]+)\"/.exec(A);if(!e)return;let o=e[1];if(o.match(/^WGS_1984_UTM_Zone_\d{1,2}(N|S)$/)){let t=o.split("_").pop(),r=t.substring(0,t.length-1),s=t.substring(t.length-1)=="N"?6:7;return Number.parseInt("32"+s+r)}else if(o.match(/^NAD_1983_UTM_Zone_\d{1,2}N$/)){let t=o.split("_").pop(),r=t.substring(0,t.length-1);return Number.parseInt("269"+r)}}n(q,"getCodeFromEsriWKT");typeof define=="function"&&define.amd&&define(function(){return q});typeof R=="object"&&(R.exports=q,R.exports.default=q)});var LA=B((Co,C)=>{function Y(A){if(A.includes("+proj=utm")&&A.includes("+zone=")){let e=A.split(" "),o=e.find(s=>s.startsWith("+zone=")).split("=")[1],t=A.includes("+south"),r=e.find(s=>s.startsWith("+ellps="));if(r&&(r=r.split("=")[1]),r==="GRS80"&&t===!1)return Number.parseInt("269"+o);{let s=t?"7":"6";return Number.parseInt("32"+s+o)}}}n(Y,"getCodeFromProjString");typeof define=="function"&&define.amd&&define(function(){return Y});typeof C=="object"&&(C.exports=Y,C.exports.default=Y)});var TA=B((Mo,j)=>{function JA(A){A=A.trim(),A=A.replace(/\n/g," "),A=A.replace(/\t/g," "),A=A.replace(/ +/g," ");let e=0,o,t;if(A.length===0)return e;let r=A.length;for(o=0;o<r;o++)t=A.charCodeAt(o),e=(e<<5)-e+t,e|=0;return e}n(JA,"hash32");j.exports=JA;j.exports.default=JA});var z=B((Ko,b)=>{function pA(A,{keywords:e}={}){let o=Object.keys(A).filter(t=>!/\d+/.test(t));if(!e){e=[];let t={};if(Array.isArray(A)){A.forEach(r=>{if(Array.isArray(r)&&r.length>=2&&typeof r[1]=="string"){let s=r[0];t[s]||(t[s]=0),t[s]++}});for(let r in t)t[r]>0&&e.push(r)}}return o.forEach(t=>{A[t]=pA(A[t])}),e.forEach(t=>{let r=[],s=[];A.forEach((i,g)=>{Array.isArray(i)&&i[0]===t&&(r.push(g),s.push(i))}),s.sort((i,g)=>(i=i[1].toString(),g=g[1].toString(),i<g?-1:i>g?1:0)),s.forEach((i,g)=>{A[r[g]]=i})}),A}n(pA,"sort");function ae(A,e){let o=typeof e=="object"&&e.raw===!0,t=typeof e=="object"&&e.debug===!0;t&&console.log(`[wktcrs] parse starting with
`,A),A=A.replace(/[A-Z][A-Z\d_]+\[/gi,function(g){return'["'+g.substr(0,g.length-1)+'",'}),A=A.replace(/, ?([A-Z][A-Z\d_]+[,\]])/gi,function(g,w){let h=w.substr(0,w.length-1);return',"'+(o?"raw:":"")+h+'"'+w[w.length-1]}),typeof e=="object"&&e.raw===!0&&(A=A.replace(/, {0,2}(-?[\.\d]+)(?=,|\])/g,function(g,w){return',"'+(o?"raw:":"")+w+'"'})),t&&console.log("[wktcrs] json'd wkt: '"+A+"'");let r;try{r=JSON.parse(A)}catch(g){throw console.error(`[wktcrs] failed to parse '${A}'`),g}t&&console.log("[wktcrs] json parsed: '"+A+"'");function s(g,w){let h=g[0];g.forEach(function(E){Array.isArray(E)&&s(E,g)});let Q="MULTIPLE_"+h;return Q in w?w[Q].push(g):h in w?(w[Q]=[w[h],g],delete w[h]):w[h]=g,w}n(s,"process");let i=s(r,[r]);return t&&console.log("[wktcrs] parse returning",i),{data:i}}n(ae,"parse");function WA(A,e){Array.isArray(A)&&A.length==1&&Array.isArray(A[0])&&(A=A[0]);let[o,...t]=A;return{data:o+"["+t.map(s=>{if(Array.isArray(s))return WA(s,e).data;if(typeof s=="number")return s.toString();if(typeof s=="string")return s.startsWith("raw:")?s.replace("raw:",""):'"'+s+'"';throw new Error('[wktcrs] unexpected attribute "'+s+'"')}).join(",")+"]"}}n(WA,"unparse");var k={parse:ae,unparse:WA,sort:pA};typeof define=="function"&&define(function(){return k});typeof b=="object"&&(b.exports=k);typeof window=="object"&&(window.wktcrs=k);typeof self=="object"&&(self.wktcrs=k)});var UA=B((Lo,_)=>{var Z=z();function xe(A){let{data:e}=Z.parse(A,{raw:!0});return Z.sort(e),Z.unparse(e,{raw:!0}).data}n(xe,"sort_wkt");function mA(A,{debug:e=!1}={debug:!1}){return A=A.trim(),A=A.replace(/\n/g," "),A=A.replace(/\t/g," "),A=A.replace(/ +/g," "),A=A.replace(/ /g,"_"),A=A.replace('GEOGCS["GCS_','GEOGCS["'),A=A.replace('DATUM["D_','DATUM["'),A=A.replace("Gauss_Kruger","GK"),A=A.replace(/\.\d{16,}/g,o=>o.substr(0,16)),A=A.replace(/\d+\.0[,"'\]]/g,o=>o.substring(0,o.indexOf("."))+o.charAt(o.length-1)),A=A.replace(/[_|"]1984[_|"]/g,o=>o.charAt(0)+"84"+o.charAt(o.length-1)),A=A.replace(/"[A-Za-z_\d]+"/g,o=>'"'+o.substring(1,o.length-1).toLowerCase()+'"'),A=xe(A),e&&console.log('[get-epsg-code] wkt after cleaning: "'+A+'"'),A}n(mA,"normalize_wkt");_.exports=mA;_.exports.default=mA});var yA=B((To,$)=>{var He=UA();function VA(A,{debug:e=!1}={debug:!1}){return He(A,{debug:e})}n(VA,"normalize_esriwkt");$.exports=VA;$.exports.default=VA});var SA=B((Wo,AA)=>{function vA(A,{debug:e=!1,remove_k1:o=!0,remove_no_defs:t=!0,remove_title:r=!0,remove_init:s=!0,remove_type:i=!0}={}){A=A.trim(),A=A.replace(/ +/g," ");let g=A.split(/ ?\+/g).filter(w=>w.trim()!=="").sort();return o&&(g=g.filter(w=>w!=="k=1")),t&&(g=g.filter(w=>w!=="no_defs")),i&&(g=g.filter(w=>!w.startsWith("type"))),s&&(g=g.filter(w=>!w.startsWith("init"))),r&&(g=g.filter(w=>!w.startsWith("title"))),A=g.map(w=>"+"+w).join(" "),e&&console.log(`normalized proj4 string
from "`+arguments[0]+`"
to "`+A+'"'),A}n(vA,"normalize_proj4");AA.exports=vA;AA.exports.default=vA});var qA=B((Uo,M)=>{var XA=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS","PRIMEM","DATUM"];function O(A){if(A=A.trim(),A.startsWith("PROJCS[")||A.startsWith("PROJCRS[")||A.startsWith("GEOGCS[")||A.startsWith("GEOGCRS["))for(let e=0;e<XA.length;e++){let o=XA[e];if(A.includes(o+"["))return!0}else return!1}n(O,"isWKT");typeof define=="function"&&define.amd&&define(function(){return O});typeof M=="object"&&(M.exports=O,M.exports.default=O);typeof self=="object"&&(self.isWKT=O);typeof window=="object"&&(window.isWKT=O)});var eA=B((yo,YA)=>{var Ne={ESRI_WKT:"esriwkt",GEOSERVER:"geoserver",MAPFILE:"mapfile",MAPNIK:"mapnik",OGC_GML:"gml",OGC_XML:"xml",OGC_WKT:"wkt",POSTGIS:"postgis",PROJ_4:"proj4",PROJ_4_JS:"js",PROJJSON:"PROJJSON",WKT_2:"wkt2"};YA.exports={FORMATS:Ne}});var bA=B((vo,oA)=>{var Oe=qA(),Ge=z(),{FORMATS:Pe}=eA(),{ESRI_WKT:ue,GEOSERVER:fe,MAPFILE:Re,MAPNIK:Ce,OGC_GML:ke,OGC_XML:Me,OGC_WKT:de,POSTGIS:De,PROJ_4:Ke,PROJ_4_JS:Fe,PROJJSON:Le,WKT_2:Je}=Pe;function jA(A,{debug:e=!1}={debug:!1}){if(A.startsWith("{")&&A.includes("projjson"))return Le;if(Oe(A)){let o=Ge.parse(A.toUpperCase()).data;return"AUTHORITY"in(o.PROJCS||o.PROJCRS||o.GEOGCS||o.GEOGCRS)?de:"ID"in o?Je:ue}else return A.includes("gml:ProjectedCRS")||A.includes("gml:GeodeticCRS")||A.includes("gml:GeographicCRS")?A.includes("gml:srsID")?Me:ke:A.startsWith("+")&&A.includes("+proj=")?Ke:A.startsWith("proj4.defs(")?Fe:/^\d{1,6}\=(PROJCS|GEOGCS)/.test(A)?fe:A.startsWith("PROJECTION")&&A.endsWith("END")?Re:A.endsWith("</Map>")?Ce:A.startsWith("INSERT")?De:(e&&console.log('get-proj-type could not identify "'+A+'"'),"SOMETHING ELSE")}n(jA,"getProjType");oA.exports=jA;oA.exports.default=jA});var ZA=B((Xo,tA)=>{function zA(A,{debug:e=!1}={debug:!1}){let o=A.indexOf(":")+1,t=A.indexOf('"',o+2),r=A.substring(o,t);if(e&&console.log('parseProj4JS str: "'+r+'"'),r)return Number(r)}n(zA,"parseProj4JS");tA.exports=zA;tA.exports.default=zA});var _A=B((Yo,Te)=>{Te.exports={properties:{columns:["epsg_code","esriwkt","proj4"],key:"epsg_code",dataType:"int32"},data:"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